{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "64c956bb",
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.io"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "c1682ede",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define the LEMCell\n",
    "class LEMCell(nn.Module):\n",
    "    def __init__(self, ninp, nhid, dt):\n",
    "        super(LEMCell, self).__init__()\n",
    "        self.ninp = ninp\n",
    "        self.nhid = nhid\n",
    "        self.dt = dt\n",
    "        self.inp2hid = nn.Linear(ninp, 4 * nhid)\n",
    "        self.hid2hid = nn.Linear(nhid, 3 * nhid)\n",
    "        self.transform_z = nn.Linear(nhid, nhid)\n",
    "        self.reset_parameters()\n",
    "\n",
    "    def reset_parameters(self):\n",
    "        std = 1.0 / np.sqrt(self.nhid)\n",
    "        for w in self.parameters():\n",
    "            w.data.uniform_(-std, std)\n",
    "\n",
    "    def forward(self, x, y, z):\n",
    "        transformed_inp = self.inp2hid(x)\n",
    "        transformed_hid = self.hid2hid(y)\n",
    "        i_dt1, i_dt2, i_z, i_y = transformed_inp.chunk(4, 1)\n",
    "        h_dt1, h_dt2, h_y = transformed_hid.chunk(3, 1)\n",
    "\n",
    "        ms_dt_bar = self.dt * torch.sigmoid(i_dt1 + h_dt1)\n",
    "        ms_dt = self.dt * torch.sigmoid(i_dt2 + h_dt2)\n",
    "\n",
    "        z = (1. - ms_dt) * z + ms_dt * torch.tanh(i_y + h_y)\n",
    "        y = (1. - ms_dt_bar) * y + ms_dt_bar * torch.tanh(self.transform_z(z) + i_z)\n",
    "\n",
    "        return y, z\n",
    "\n",
    "# Define the LEM model\n",
    "class LEM(nn.Module):\n",
    "    def __init__(self, ninp, nhid, nout, dt=1.):\n",
    "        super(LEM, self).__init__()\n",
    "        self.nhid = nhid\n",
    "        self.cell = LEMCell(ninp, nhid, dt)\n",
    "        self.classifier = nn.Linear(nhid, nout)\n",
    "        self.init_weights()\n",
    "\n",
    "    def init_weights(self):\n",
    "        for name, param in self.named_parameters():\n",
    "            if 'classifier' in name and 'weight' in name:\n",
    "                nn.init.kaiming_normal_(param.data)\n",
    "\n",
    "    def forward(self, input):\n",
    "        y = input.data.new(input.size(1), self.nhid).zero_()\n",
    "        z = input.data.new(input.size(1), self.nhid).zero_()\n",
    "        for x in input:\n",
    "            y, z = self.cell(x, y, z)\n",
    "        out = self.classifier(y)\n",
    "        return out\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a982afa5",
   "metadata": {},
   "source": [
    "### PINN data importing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "79da65b0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(199, 449)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# importing data\n",
    "\n",
    "# Load the .mat file\n",
    "mat_data = scipy.io.loadmat('cylinder_vorticity.mat')\n",
    "\n",
    "# Access the variables stored in the .mat file\n",
    "# The variable names in the .mat file become keys in the loaded dictionary\n",
    "x = mat_data['XX']\n",
    "t = mat_data['YY']\n",
    "u = mat_data['WW']\n",
    "\n",
    "t.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bbac9f8e",
   "metadata": {},
   "source": [
    "### Exact Solution data importing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c91e443a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "89"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "449-360"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "9967dbae",
   "metadata": {},
   "outputs": [],
   "source": [
    "# # importing data\n",
    "\n",
    "# import torch\n",
    "# import torch.nn as nn\n",
    "# import numpy as np\n",
    "# import time\n",
    "# import scipy.io\n",
    "\n",
    "# # Load the .mat file\n",
    "# mat_data = scipy.io.loadmat('burgers_shock.mat')\n",
    "\n",
    "# # Access the variables stored in the .mat file\n",
    "# # The variable names in the .mat file become keys in the loaded dictionary\n",
    "# x = mat_data['x']\n",
    "# t = mat_data['t']\n",
    "# u_1 = mat_data['usol']\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "83a01b14",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<torch._C.Generator at 0x7fe9842d1f10>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Set random seed for reproducibility\n",
    "torch.manual_seed(42)\n",
    "\n",
    "# Toy problem data\n",
    "input_size = 449\n",
    "hidden_size = 32\n",
    "output_size = 449\n",
    "sequence_length = 160\n",
    "batch_size = 1\n",
    "num_epochs = 50000\n",
    "\n",
    "# Set random seed for reproducibility\n",
    "torch.manual_seed(42)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "0496e4a4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "test data shape (449,)\n",
      "input data shape (160, 449)\n",
      "Target data shape (160, 449)\n",
      "input tensor shape torch.Size([1, 160, 449])\n",
      "Target tensor shape torch.Size([1, 160, 449])\n"
     ]
    }
   ],
   "source": [
    "input_data = u[0:160, :]\n",
    "target_data = u[1:161, :]\n",
    "\n",
    "test_data = u[160, :]\n",
    "#test_target = u[:,80:100]\n",
    "\n",
    "print(\"test data shape\", test_data.shape)\n",
    "#print(\"test target shape\", test_target.shape)\n",
    "\n",
    "print(\"input data shape\",input_data.shape)\n",
    "print(\"Target data shape\",target_data.shape)\n",
    "\n",
    "# Convert data to tensors\n",
    "input_tensor = torch.tensor(input_data.T).view(batch_size, sequence_length, input_size).float()\n",
    "target_tensor = torch.tensor(target_data.T).view(batch_size, sequence_length, output_size).float()\n",
    "\n",
    "print(\"input tensor shape\",input_tensor.shape)\n",
    "print(\"Target tensor shape\",target_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "718d5b86",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Convert test data to tensors\n",
    "test_tensor = torch.tensor(test_data.T).view(batch_size, 1, input_size).float()\n",
    "#test_target_tensor = torch.tensor(test_target.T).view(batch_size, 20, output_size).float()\n",
    "target_tensor = torch.squeeze(target_tensor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "d733ab9a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 10/50000, Loss: 1.0348148345947266\n",
      "Epoch: 20/50000, Loss: 1.0186092853546143\n",
      "Epoch: 30/50000, Loss: 1.0028085708618164\n",
      "Epoch: 40/50000, Loss: 0.9869195222854614\n",
      "Epoch: 50/50000, Loss: 0.9710780978202820\n",
      "Epoch: 60/50000, Loss: 0.9552621245384216\n",
      "Epoch: 70/50000, Loss: 0.9395430684089661\n",
      "Epoch: 80/50000, Loss: 0.9242251515388489\n",
      "Epoch: 90/50000, Loss: 0.9093579053878784\n",
      "Epoch: 100/50000, Loss: 0.8949031233787537\n",
      "Epoch: 110/50000, Loss: 0.8808986544609070\n",
      "Epoch: 120/50000, Loss: 0.8672073483467102\n",
      "Epoch: 130/50000, Loss: 0.8539423942565918\n",
      "Epoch: 140/50000, Loss: 0.8411524295806885\n",
      "Epoch: 150/50000, Loss: 0.8287086486816406\n",
      "Epoch: 160/50000, Loss: 0.8166903257369995\n",
      "Epoch: 170/50000, Loss: 0.8050084710121155\n",
      "Epoch: 180/50000, Loss: 0.7936762571334839\n",
      "Epoch: 190/50000, Loss: 0.7826433181762695\n",
      "Epoch: 200/50000, Loss: 0.7719137668609619\n",
      "Epoch: 210/50000, Loss: 0.7614588141441345\n",
      "Epoch: 220/50000, Loss: 0.7512183189392090\n",
      "Epoch: 230/50000, Loss: 0.7411062121391296\n",
      "Epoch: 240/50000, Loss: 0.7311277389526367\n",
      "Epoch: 250/50000, Loss: 0.7212560772895813\n",
      "Epoch: 260/50000, Loss: 0.7117884755134583\n",
      "Epoch: 270/50000, Loss: 0.7025244235992432\n",
      "Epoch: 280/50000, Loss: 0.6934006810188293\n",
      "Epoch: 290/50000, Loss: 0.6845366954803467\n",
      "Epoch: 300/50000, Loss: 0.6758863925933838\n",
      "Epoch: 310/50000, Loss: 0.6674506068229675\n",
      "Epoch: 320/50000, Loss: 0.6592108011245728\n",
      "Epoch: 330/50000, Loss: 0.6511507630348206\n",
      "Epoch: 340/50000, Loss: 0.6432565450668335\n",
      "Epoch: 350/50000, Loss: 0.6354625821113586\n",
      "Epoch: 360/50000, Loss: 0.6277243494987488\n",
      "Epoch: 370/50000, Loss: 0.6202668547630310\n",
      "Epoch: 380/50000, Loss: 0.6129720807075500\n",
      "Epoch: 390/50000, Loss: 0.6058107614517212\n",
      "Epoch: 400/50000, Loss: 0.5986431241035461\n",
      "Epoch: 410/50000, Loss: 0.5917383432388306\n",
      "Epoch: 420/50000, Loss: 0.5849785804748535\n",
      "Epoch: 430/50000, Loss: 0.5783388614654541\n",
      "Epoch: 440/50000, Loss: 0.5718256831169128\n",
      "Epoch: 450/50000, Loss: 0.5654306411743164\n",
      "Epoch: 460/50000, Loss: 0.5591449141502380\n",
      "Epoch: 470/50000, Loss: 0.5529617667198181\n",
      "Epoch: 480/50000, Loss: 0.5467839837074280\n",
      "Epoch: 490/50000, Loss: 0.5405731797218323\n",
      "Epoch: 500/50000, Loss: 0.5345256328582764\n",
      "Epoch: 510/50000, Loss: 0.5287430286407471\n",
      "Epoch: 520/50000, Loss: 0.5229272246360779\n",
      "Epoch: 530/50000, Loss: 0.5172326564788818\n",
      "Epoch: 540/50000, Loss: 0.5112327337265015\n",
      "Epoch: 550/50000, Loss: 0.5054562687873840\n",
      "Epoch: 560/50000, Loss: 0.4998962581157684\n",
      "Epoch: 570/50000, Loss: 0.4945531189441681\n",
      "Epoch: 580/50000, Loss: 0.4892033338546753\n",
      "Epoch: 590/50000, Loss: 0.4839550554752350\n",
      "Epoch: 600/50000, Loss: 0.4788770377635956\n",
      "Epoch: 610/50000, Loss: 0.4738625884056091\n",
      "Epoch: 620/50000, Loss: 0.4689210653305054\n",
      "Epoch: 630/50000, Loss: 0.4640751779079437\n",
      "Epoch: 640/50000, Loss: 0.4593172073364258\n",
      "Epoch: 650/50000, Loss: 0.4545904397964478\n",
      "Epoch: 660/50000, Loss: 0.4498858153820038\n",
      "Epoch: 670/50000, Loss: 0.4453698098659515\n",
      "Epoch: 680/50000, Loss: 0.4409891068935394\n",
      "Epoch: 690/50000, Loss: 0.4366827607154846\n",
      "Epoch: 700/50000, Loss: 0.4324300289154053\n",
      "Epoch: 710/50000, Loss: 0.4281322360038757\n",
      "Epoch: 720/50000, Loss: 0.4239697158336639\n",
      "Epoch: 730/50000, Loss: 0.4199344217777252\n",
      "Epoch: 740/50000, Loss: 0.4157579839229584\n",
      "Epoch: 750/50000, Loss: 0.4117477834224701\n",
      "Epoch: 760/50000, Loss: 0.4078835248947144\n",
      "Epoch: 770/50000, Loss: 0.4041541218757629\n",
      "Epoch: 780/50000, Loss: 0.4003893733024597\n",
      "Epoch: 790/50000, Loss: 0.3967564702033997\n",
      "Epoch: 800/50000, Loss: 0.3930570781230927\n",
      "Epoch: 810/50000, Loss: 0.3895277678966522\n",
      "Epoch: 820/50000, Loss: 0.3860899209976196\n",
      "Epoch: 830/50000, Loss: 0.3825744688510895\n",
      "Epoch: 840/50000, Loss: 0.3790934979915619\n",
      "Epoch: 850/50000, Loss: 0.3756318092346191\n",
      "Epoch: 860/50000, Loss: 0.3722346127033234\n",
      "Epoch: 870/50000, Loss: 0.3689942359924316\n",
      "Epoch: 880/50000, Loss: 0.3658516108989716\n",
      "Epoch: 890/50000, Loss: 0.3627851903438568\n",
      "Epoch: 900/50000, Loss: 0.3597841262817383\n",
      "Epoch: 910/50000, Loss: 0.3568058013916016\n",
      "Epoch: 920/50000, Loss: 0.3539119362831116\n",
      "Epoch: 930/50000, Loss: 0.3509460687637329\n",
      "Epoch: 940/50000, Loss: 0.3478701710700989\n",
      "Epoch: 950/50000, Loss: 0.3448002934455872\n",
      "Epoch: 960/50000, Loss: 0.3418859839439392\n",
      "Epoch: 970/50000, Loss: 0.3390325605869293\n",
      "Epoch: 980/50000, Loss: 0.3362784683704376\n",
      "Epoch: 990/50000, Loss: 0.3335294723510742\n",
      "Epoch: 1000/50000, Loss: 0.3308836221694946\n",
      "Epoch: 1010/50000, Loss: 0.3282778859138489\n",
      "Epoch: 1020/50000, Loss: 0.3255566358566284\n",
      "Epoch: 1030/50000, Loss: 0.3228705525398254\n",
      "Epoch: 1040/50000, Loss: 0.3197708725929260\n",
      "Epoch: 1050/50000, Loss: 0.3170022964477539\n",
      "Epoch: 1060/50000, Loss: 0.3143626749515533\n",
      "Epoch: 1070/50000, Loss: 0.3117666244506836\n",
      "Epoch: 1080/50000, Loss: 0.3089084327220917\n",
      "Epoch: 1090/50000, Loss: 0.3063890635967255\n",
      "Epoch: 1100/50000, Loss: 0.3038883805274963\n",
      "Epoch: 1110/50000, Loss: 0.3014484643936157\n",
      "Epoch: 1120/50000, Loss: 0.2988970577716827\n",
      "Epoch: 1130/50000, Loss: 0.2965294718742371\n",
      "Epoch: 1140/50000, Loss: 0.2942301332950592\n",
      "Epoch: 1150/50000, Loss: 0.2920208573341370\n",
      "Epoch: 1160/50000, Loss: 0.2898733317852020\n",
      "Epoch: 1170/50000, Loss: 0.2877781391143799\n",
      "Epoch: 1180/50000, Loss: 0.2857325375080109\n",
      "Epoch: 1190/50000, Loss: 0.2836848795413971\n",
      "Epoch: 1200/50000, Loss: 0.2816628515720367\n",
      "Epoch: 1210/50000, Loss: 0.2796584665775299\n",
      "Epoch: 1220/50000, Loss: 0.2776772677898407\n",
      "Epoch: 1230/50000, Loss: 0.2757197916507721\n",
      "Epoch: 1240/50000, Loss: 0.2737846076488495\n",
      "Epoch: 1250/50000, Loss: 0.2718864381313324\n",
      "Epoch: 1260/50000, Loss: 0.2701031565666199\n",
      "Epoch: 1270/50000, Loss: 0.2682108283042908\n",
      "Epoch: 1280/50000, Loss: 0.2662997841835022\n",
      "Epoch: 1290/50000, Loss: 0.2643927335739136\n",
      "Epoch: 1300/50000, Loss: 0.2626150548458099\n",
      "Epoch: 1310/50000, Loss: 0.2608734369277954\n",
      "Epoch: 1320/50000, Loss: 0.2590028941631317\n",
      "Epoch: 1330/50000, Loss: 0.2572796344757080\n",
      "Epoch: 1340/50000, Loss: 0.2555563747882843\n",
      "Epoch: 1350/50000, Loss: 0.2538774907588959\n",
      "Epoch: 1360/50000, Loss: 0.2522316873073578\n",
      "Epoch: 1370/50000, Loss: 0.2506789863109589\n",
      "Epoch: 1380/50000, Loss: 0.2490058541297913\n",
      "Epoch: 1390/50000, Loss: 0.2474082559347153\n",
      "Epoch: 1400/50000, Loss: 0.2455787658691406\n",
      "Epoch: 1410/50000, Loss: 0.2439664900302887\n",
      "Epoch: 1420/50000, Loss: 0.2424277216196060\n",
      "Epoch: 1430/50000, Loss: 0.2409463524818420\n",
      "Epoch: 1440/50000, Loss: 0.2394111752510071\n",
      "Epoch: 1450/50000, Loss: 0.2379227876663208\n",
      "Epoch: 1460/50000, Loss: 0.2364465296268463\n",
      "Epoch: 1470/50000, Loss: 0.2349837720394135\n",
      "Epoch: 1480/50000, Loss: 0.2335875183343887\n",
      "Epoch: 1490/50000, Loss: 0.2321002185344696\n",
      "Epoch: 1500/50000, Loss: 0.2306477576494217\n",
      "Epoch: 1510/50000, Loss: 0.2291379868984222\n",
      "Epoch: 1520/50000, Loss: 0.2277173995971680\n",
      "Epoch: 1530/50000, Loss: 0.2263013422489166\n",
      "Epoch: 1540/50000, Loss: 0.2249131798744202\n",
      "Epoch: 1550/50000, Loss: 0.2235411554574966\n",
      "Epoch: 1560/50000, Loss: 0.2222518324851990\n",
      "Epoch: 1570/50000, Loss: 0.2208195924758911\n",
      "Epoch: 1580/50000, Loss: 0.2192642986774445\n",
      "Epoch: 1590/50000, Loss: 0.2178673297166824\n",
      "Epoch: 1600/50000, Loss: 0.2164312452077866\n",
      "Epoch: 1610/50000, Loss: 0.2150781303644180\n",
      "Epoch: 1620/50000, Loss: 0.2137312144041061\n",
      "Epoch: 1630/50000, Loss: 0.2124123722314835\n",
      "Epoch: 1640/50000, Loss: 0.2111231088638306\n",
      "Epoch: 1650/50000, Loss: 0.2098539769649506\n",
      "Epoch: 1660/50000, Loss: 0.2085990309715271\n",
      "Epoch: 1670/50000, Loss: 0.2073561996221542\n",
      "Epoch: 1680/50000, Loss: 0.2061210274696350\n",
      "Epoch: 1690/50000, Loss: 0.2049855440855026\n",
      "Epoch: 1700/50000, Loss: 0.2036882042884827\n",
      "Epoch: 1710/50000, Loss: 0.2024706006050110\n",
      "Epoch: 1720/50000, Loss: 0.2012786120176315\n",
      "Epoch: 1730/50000, Loss: 0.2001329660415649\n",
      "Epoch: 1740/50000, Loss: 0.1988657861948013\n",
      "Epoch: 1750/50000, Loss: 0.1975543349981308\n",
      "Epoch: 1760/50000, Loss: 0.1962459832429886\n",
      "Epoch: 1770/50000, Loss: 0.1950789541006088\n",
      "Epoch: 1780/50000, Loss: 0.1939315646886826\n",
      "Epoch: 1790/50000, Loss: 0.1927778720855713\n",
      "Epoch: 1800/50000, Loss: 0.1915661394596100\n",
      "Epoch: 1810/50000, Loss: 0.1904006302356720\n",
      "Epoch: 1820/50000, Loss: 0.1892484575510025\n",
      "Epoch: 1830/50000, Loss: 0.1881907135248184\n",
      "Epoch: 1840/50000, Loss: 0.1870333254337311\n",
      "Epoch: 1850/50000, Loss: 0.1859748214483261\n",
      "Epoch: 1860/50000, Loss: 0.1848476082086563\n",
      "Epoch: 1870/50000, Loss: 0.1837706118822098\n",
      "Epoch: 1880/50000, Loss: 0.1825767159461975\n",
      "Epoch: 1890/50000, Loss: 0.1814985871315002\n",
      "Epoch: 1900/50000, Loss: 0.1804377734661102\n",
      "Epoch: 1910/50000, Loss: 0.1793977469205856\n",
      "Epoch: 1920/50000, Loss: 0.1784639358520508\n",
      "Epoch: 1930/50000, Loss: 0.1773169636726379\n",
      "Epoch: 1940/50000, Loss: 0.1762700080871582\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 1950/50000, Loss: 0.1752457320690155\n",
      "Epoch: 1960/50000, Loss: 0.1742362827062607\n",
      "Epoch: 1970/50000, Loss: 0.1731691807508469\n",
      "Epoch: 1980/50000, Loss: 0.1719819009304047\n",
      "Epoch: 1990/50000, Loss: 0.1709162741899490\n",
      "Epoch: 2000/50000, Loss: 0.1699823439121246\n",
      "Epoch: 2010/50000, Loss: 0.1688439399003983\n",
      "Epoch: 2020/50000, Loss: 0.1678365916013718\n",
      "Epoch: 2030/50000, Loss: 0.1666151136159897\n",
      "Epoch: 2040/50000, Loss: 0.1655960530042648\n",
      "Epoch: 2050/50000, Loss: 0.1646131575107574\n",
      "Epoch: 2060/50000, Loss: 0.1637283712625504\n",
      "Epoch: 2070/50000, Loss: 0.1627746522426605\n",
      "Epoch: 2080/50000, Loss: 0.1618130654096603\n",
      "Epoch: 2090/50000, Loss: 0.1608806401491165\n",
      "Epoch: 2100/50000, Loss: 0.1599669456481934\n",
      "Epoch: 2110/50000, Loss: 0.1590664386749268\n",
      "Epoch: 2120/50000, Loss: 0.1581709235906601\n",
      "Epoch: 2130/50000, Loss: 0.1572841703891754\n",
      "Epoch: 2140/50000, Loss: 0.1564026027917862\n",
      "Epoch: 2150/50000, Loss: 0.1555277854204178\n",
      "Epoch: 2160/50000, Loss: 0.1546617150306702\n",
      "Epoch: 2170/50000, Loss: 0.1538468748331070\n",
      "Epoch: 2180/50000, Loss: 0.1530100554227829\n",
      "Epoch: 2190/50000, Loss: 0.1520935893058777\n",
      "Epoch: 2200/50000, Loss: 0.1512284874916077\n",
      "Epoch: 2210/50000, Loss: 0.1503773927688599\n",
      "Epoch: 2220/50000, Loss: 0.1494909822940826\n",
      "Epoch: 2230/50000, Loss: 0.1486676186323166\n",
      "Epoch: 2240/50000, Loss: 0.1478160023689270\n",
      "Epoch: 2250/50000, Loss: 0.1470116972923279\n",
      "Epoch: 2260/50000, Loss: 0.1461053937673569\n",
      "Epoch: 2270/50000, Loss: 0.1452713459730148\n",
      "Epoch: 2280/50000, Loss: 0.1444413810968399\n",
      "Epoch: 2290/50000, Loss: 0.1436080038547516\n",
      "Epoch: 2300/50000, Loss: 0.1427822560071945\n",
      "Epoch: 2310/50000, Loss: 0.1419626772403717\n",
      "Epoch: 2320/50000, Loss: 0.1411410868167877\n",
      "Epoch: 2330/50000, Loss: 0.1403525322675705\n",
      "Epoch: 2340/50000, Loss: 0.1395486295223236\n",
      "Epoch: 2350/50000, Loss: 0.1387273073196411\n",
      "Epoch: 2360/50000, Loss: 0.1378898471593857\n",
      "Epoch: 2370/50000, Loss: 0.1371136009693146\n",
      "Epoch: 2380/50000, Loss: 0.1363391578197479\n",
      "Epoch: 2390/50000, Loss: 0.1355790793895721\n",
      "Epoch: 2400/50000, Loss: 0.1348263621330261\n",
      "Epoch: 2410/50000, Loss: 0.1340771913528442\n",
      "Epoch: 2420/50000, Loss: 0.1335621625185013\n",
      "Epoch: 2430/50000, Loss: 0.1326043456792831\n",
      "Epoch: 2440/50000, Loss: 0.1318575739860535\n",
      "Epoch: 2450/50000, Loss: 0.1311096101999283\n",
      "Epoch: 2460/50000, Loss: 0.1303607374429703\n",
      "Epoch: 2470/50000, Loss: 0.1296319365501404\n",
      "Epoch: 2480/50000, Loss: 0.1289114505052567\n",
      "Epoch: 2490/50000, Loss: 0.1283116191625595\n",
      "Epoch: 2500/50000, Loss: 0.1275699138641357\n",
      "Epoch: 2510/50000, Loss: 0.1268221437931061\n",
      "Epoch: 2520/50000, Loss: 0.1261154264211655\n",
      "Epoch: 2530/50000, Loss: 0.1254321187734604\n",
      "Epoch: 2540/50000, Loss: 0.1247489377856255\n",
      "Epoch: 2550/50000, Loss: 0.1240727007389069\n",
      "Epoch: 2560/50000, Loss: 0.1234002411365509\n",
      "Epoch: 2570/50000, Loss: 0.1227324157953262\n",
      "Epoch: 2580/50000, Loss: 0.1220692694187164\n",
      "Epoch: 2590/50000, Loss: 0.1214114204049110\n",
      "Epoch: 2600/50000, Loss: 0.1210213378071785\n",
      "Epoch: 2610/50000, Loss: 0.1201599240303040\n",
      "Epoch: 2620/50000, Loss: 0.1194649562239647\n",
      "Epoch: 2630/50000, Loss: 0.1188064962625504\n",
      "Epoch: 2640/50000, Loss: 0.1181612759828568\n",
      "Epoch: 2650/50000, Loss: 0.1175214648246765\n",
      "Epoch: 2660/50000, Loss: 0.1168566495180130\n",
      "Epoch: 2670/50000, Loss: 0.1163179203867912\n",
      "Epoch: 2680/50000, Loss: 0.1156359314918518\n",
      "Epoch: 2690/50000, Loss: 0.1149417608976364\n",
      "Epoch: 2700/50000, Loss: 0.1142961755394936\n",
      "Epoch: 2710/50000, Loss: 0.1136804521083832\n",
      "Epoch: 2720/50000, Loss: 0.1130665689706802\n",
      "Epoch: 2730/50000, Loss: 0.1124601587653160\n",
      "Epoch: 2740/50000, Loss: 0.1118586435914040\n",
      "Epoch: 2750/50000, Loss: 0.1112619489431381\n",
      "Epoch: 2760/50000, Loss: 0.1106695607304573\n",
      "Epoch: 2770/50000, Loss: 0.1100994423031807\n",
      "Epoch: 2780/50000, Loss: 0.1095481216907501\n",
      "Epoch: 2790/50000, Loss: 0.1089669987559319\n",
      "Epoch: 2800/50000, Loss: 0.1083752810955048\n",
      "Epoch: 2810/50000, Loss: 0.1077775359153748\n",
      "Epoch: 2820/50000, Loss: 0.1071929112076759\n",
      "Epoch: 2830/50000, Loss: 0.1066191270947456\n",
      "Epoch: 2840/50000, Loss: 0.1060540452599525\n",
      "Epoch: 2850/50000, Loss: 0.1054921224713326\n",
      "Epoch: 2860/50000, Loss: 0.1049652397632599\n",
      "Epoch: 2870/50000, Loss: 0.1044517382979393\n",
      "Epoch: 2880/50000, Loss: 0.1038232743740082\n",
      "Epoch: 2890/50000, Loss: 0.1032638028264046\n",
      "Epoch: 2900/50000, Loss: 0.1027211993932724\n",
      "Epoch: 2910/50000, Loss: 0.1021836102008820\n",
      "Epoch: 2920/50000, Loss: 0.1016327366232872\n",
      "Epoch: 2930/50000, Loss: 0.1010803505778313\n",
      "Epoch: 2940/50000, Loss: 0.1005205586552620\n",
      "Epoch: 2950/50000, Loss: 0.0999875292181969\n",
      "Epoch: 2960/50000, Loss: 0.0994607061147690\n",
      "Epoch: 2970/50000, Loss: 0.0989303290843964\n",
      "Epoch: 2980/50000, Loss: 0.0984586551785469\n",
      "Epoch: 2990/50000, Loss: 0.0980482995510101\n",
      "Epoch: 3000/50000, Loss: 0.0974408090114594\n",
      "Epoch: 3010/50000, Loss: 0.0969079807400703\n",
      "Epoch: 3020/50000, Loss: 0.0963910669088364\n",
      "Epoch: 3030/50000, Loss: 0.0958847478032112\n",
      "Epoch: 3040/50000, Loss: 0.0953858196735382\n",
      "Epoch: 3050/50000, Loss: 0.0948916226625443\n",
      "Epoch: 3060/50000, Loss: 0.0944024398922920\n",
      "Epoch: 3070/50000, Loss: 0.0938913151621819\n",
      "Epoch: 3080/50000, Loss: 0.0933714061975479\n",
      "Epoch: 3090/50000, Loss: 0.0928513854742050\n",
      "Epoch: 3100/50000, Loss: 0.0923610627651215\n",
      "Epoch: 3110/50000, Loss: 0.0918797850608826\n",
      "Epoch: 3120/50000, Loss: 0.0914029181003571\n",
      "Epoch: 3130/50000, Loss: 0.0909308046102524\n",
      "Epoch: 3140/50000, Loss: 0.0904633775353432\n",
      "Epoch: 3150/50000, Loss: 0.0899968594312668\n",
      "Epoch: 3160/50000, Loss: 0.0895353928208351\n",
      "Epoch: 3170/50000, Loss: 0.0893890038132668\n",
      "Epoch: 3180/50000, Loss: 0.0886212736368179\n",
      "Epoch: 3190/50000, Loss: 0.0881485790014267\n",
      "Epoch: 3200/50000, Loss: 0.0876938551664352\n",
      "Epoch: 3210/50000, Loss: 0.0872400254011154\n",
      "Epoch: 3220/50000, Loss: 0.0867887809872627\n",
      "Epoch: 3230/50000, Loss: 0.0863404124975204\n",
      "Epoch: 3240/50000, Loss: 0.0858969315886497\n",
      "Epoch: 3250/50000, Loss: 0.0854631438851357\n",
      "Epoch: 3260/50000, Loss: 0.0853240266442299\n",
      "Epoch: 3270/50000, Loss: 0.0846012756228447\n",
      "Epoch: 3280/50000, Loss: 0.0841876789927483\n",
      "Epoch: 3290/50000, Loss: 0.0837625339627266\n",
      "Epoch: 3300/50000, Loss: 0.0833301916718483\n",
      "Epoch: 3310/50000, Loss: 0.0829106122255325\n",
      "Epoch: 3320/50000, Loss: 0.0824959278106689\n",
      "Epoch: 3330/50000, Loss: 0.0820877626538277\n",
      "Epoch: 3340/50000, Loss: 0.0820725411176682\n",
      "Epoch: 3350/50000, Loss: 0.0813570395112038\n",
      "Epoch: 3360/50000, Loss: 0.0808962658047676\n",
      "Epoch: 3370/50000, Loss: 0.0804768651723862\n",
      "Epoch: 3380/50000, Loss: 0.0800702720880508\n",
      "Epoch: 3390/50000, Loss: 0.0796516910195351\n",
      "Epoch: 3400/50000, Loss: 0.0791900977492332\n",
      "Epoch: 3410/50000, Loss: 0.0787904784083366\n",
      "Epoch: 3420/50000, Loss: 0.0783973038196564\n",
      "Epoch: 3430/50000, Loss: 0.0780072063207626\n",
      "Epoch: 3440/50000, Loss: 0.0776837170124054\n",
      "Epoch: 3450/50000, Loss: 0.0772487968206406\n",
      "Epoch: 3460/50000, Loss: 0.0768865719437599\n",
      "Epoch: 3470/50000, Loss: 0.0764846801757812\n",
      "Epoch: 3480/50000, Loss: 0.0760994926095009\n",
      "Epoch: 3490/50000, Loss: 0.0757254734635353\n",
      "Epoch: 3500/50000, Loss: 0.0753550082445145\n",
      "Epoch: 3510/50000, Loss: 0.0750296711921692\n",
      "Epoch: 3520/50000, Loss: 0.0746216028928757\n",
      "Epoch: 3530/50000, Loss: 0.0743056908249855\n",
      "Epoch: 3540/50000, Loss: 0.0739013701677322\n",
      "Epoch: 3550/50000, Loss: 0.0735401213169098\n",
      "Epoch: 3560/50000, Loss: 0.0731834918260574\n",
      "Epoch: 3570/50000, Loss: 0.0728281959891319\n",
      "Epoch: 3580/50000, Loss: 0.0725598558783531\n",
      "Epoch: 3590/50000, Loss: 0.0721990019083023\n",
      "Epoch: 3600/50000, Loss: 0.0717912167310715\n",
      "Epoch: 3610/50000, Loss: 0.0714399218559265\n",
      "Epoch: 3620/50000, Loss: 0.0710850059986115\n",
      "Epoch: 3630/50000, Loss: 0.0707395523786545\n",
      "Epoch: 3640/50000, Loss: 0.0703987255692482\n",
      "Epoch: 3650/50000, Loss: 0.0700650587677956\n",
      "Epoch: 3660/50000, Loss: 0.0700607523322105\n",
      "Epoch: 3670/50000, Loss: 0.0694015547633171\n",
      "Epoch: 3680/50000, Loss: 0.0690953582525253\n",
      "Epoch: 3690/50000, Loss: 0.0687405690550804\n",
      "Epoch: 3700/50000, Loss: 0.0684053078293800\n",
      "Epoch: 3710/50000, Loss: 0.0680807083845139\n",
      "Epoch: 3720/50000, Loss: 0.0677558779716492\n",
      "Epoch: 3730/50000, Loss: 0.0674331933259964\n",
      "Epoch: 3740/50000, Loss: 0.0671130567789078\n",
      "Epoch: 3750/50000, Loss: 0.0668392255902290\n",
      "Epoch: 3760/50000, Loss: 0.0664867237210274\n",
      "Epoch: 3770/50000, Loss: 0.0661969855427742\n",
      "Epoch: 3780/50000, Loss: 0.0658221617341042\n",
      "Epoch: 3790/50000, Loss: 0.0654872879385948\n",
      "Epoch: 3800/50000, Loss: 0.0651619508862495\n",
      "Epoch: 3810/50000, Loss: 0.0648398101329803\n",
      "Epoch: 3820/50000, Loss: 0.0645262449979782\n",
      "Epoch: 3830/50000, Loss: 0.0645193904638290\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 3840/50000, Loss: 0.0639578923583031\n",
      "Epoch: 3850/50000, Loss: 0.0634140893816948\n",
      "Epoch: 3860/50000, Loss: 0.0630558729171753\n",
      "Epoch: 3870/50000, Loss: 0.0627533346414566\n",
      "Epoch: 3880/50000, Loss: 0.0624439530074596\n",
      "Epoch: 3890/50000, Loss: 0.0621444731950760\n",
      "Epoch: 3900/50000, Loss: 0.0618460737168789\n",
      "Epoch: 3910/50000, Loss: 0.0615504011511803\n",
      "Epoch: 3920/50000, Loss: 0.0612650923430920\n",
      "Epoch: 3930/50000, Loss: 0.0611984282732010\n",
      "Epoch: 3940/50000, Loss: 0.0607277639210224\n",
      "Epoch: 3950/50000, Loss: 0.0603994652628899\n",
      "Epoch: 3960/50000, Loss: 0.0601138733327389\n",
      "Epoch: 3970/50000, Loss: 0.0598223023116589\n",
      "Epoch: 3980/50000, Loss: 0.0595384500920773\n",
      "Epoch: 3990/50000, Loss: 0.0592511557042599\n",
      "Epoch: 4000/50000, Loss: 0.0590023063123226\n",
      "Epoch: 4010/50000, Loss: 0.0587173886597157\n",
      "Epoch: 4020/50000, Loss: 0.0585030131042004\n",
      "Epoch: 4030/50000, Loss: 0.0581589601933956\n",
      "Epoch: 4040/50000, Loss: 0.0578727200627327\n",
      "Epoch: 4050/50000, Loss: 0.0576027221977711\n",
      "Epoch: 4060/50000, Loss: 0.0573284663259983\n",
      "Epoch: 4070/50000, Loss: 0.0570599809288979\n",
      "Epoch: 4080/50000, Loss: 0.0567946098744869\n",
      "Epoch: 4090/50000, Loss: 0.0566007494926453\n",
      "Epoch: 4100/50000, Loss: 0.0562900640070438\n",
      "Epoch: 4110/50000, Loss: 0.0560489259660244\n",
      "Epoch: 4120/50000, Loss: 0.0557503625750542\n",
      "Epoch: 4130/50000, Loss: 0.0554908141493797\n",
      "Epoch: 4140/50000, Loss: 0.0552273355424404\n",
      "Epoch: 4150/50000, Loss: 0.0549714379012585\n",
      "Epoch: 4160/50000, Loss: 0.0547437295317650\n",
      "Epoch: 4170/50000, Loss: 0.0545720644295216\n",
      "Epoch: 4180/50000, Loss: 0.0542339794337749\n",
      "Epoch: 4190/50000, Loss: 0.0539702512323856\n",
      "Epoch: 4200/50000, Loss: 0.0536487065255642\n",
      "Epoch: 4210/50000, Loss: 0.0533286333084106\n",
      "Epoch: 4220/50000, Loss: 0.0530613735318184\n",
      "Epoch: 4230/50000, Loss: 0.0528012290596962\n",
      "Epoch: 4240/50000, Loss: 0.0525483228266239\n",
      "Epoch: 4250/50000, Loss: 0.0523268058896065\n",
      "Epoch: 4260/50000, Loss: 0.0521489754319191\n",
      "Epoch: 4270/50000, Loss: 0.0518151074647903\n",
      "Epoch: 4280/50000, Loss: 0.0515797473490238\n",
      "Epoch: 4290/50000, Loss: 0.0513146668672562\n",
      "Epoch: 4300/50000, Loss: 0.0510286651551723\n",
      "Epoch: 4310/50000, Loss: 0.0509126372635365\n",
      "Epoch: 4320/50000, Loss: 0.0505434423685074\n",
      "Epoch: 4330/50000, Loss: 0.0502527207136154\n",
      "Epoch: 4340/50000, Loss: 0.0499939695000648\n",
      "Epoch: 4350/50000, Loss: 0.0497377403080463\n",
      "Epoch: 4360/50000, Loss: 0.0494929179549217\n",
      "Epoch: 4370/50000, Loss: 0.0492538027465343\n",
      "Epoch: 4380/50000, Loss: 0.0490408986806870\n",
      "Epoch: 4390/50000, Loss: 0.0489249043166637\n",
      "Epoch: 4400/50000, Loss: 0.0485659576952457\n",
      "Epoch: 4410/50000, Loss: 0.0482574142515659\n",
      "Epoch: 4420/50000, Loss: 0.0480122789740562\n",
      "Epoch: 4430/50000, Loss: 0.0477714613080025\n",
      "Epoch: 4440/50000, Loss: 0.0475610718131065\n",
      "Epoch: 4450/50000, Loss: 0.0474506579339504\n",
      "Epoch: 4460/50000, Loss: 0.0471193902194500\n",
      "Epoch: 4470/50000, Loss: 0.0468458794057369\n",
      "Epoch: 4480/50000, Loss: 0.0466105192899704\n",
      "Epoch: 4490/50000, Loss: 0.0463781021535397\n",
      "Epoch: 4500/50000, Loss: 0.0461519472301006\n",
      "Epoch: 4510/50000, Loss: 0.0459580607712269\n",
      "Epoch: 4520/50000, Loss: 0.0458562038838863\n",
      "Epoch: 4530/50000, Loss: 0.0455097444355488\n",
      "Epoch: 4540/50000, Loss: 0.0452524796128273\n",
      "Epoch: 4550/50000, Loss: 0.0450334213674068\n",
      "Epoch: 4560/50000, Loss: 0.0448129661381245\n",
      "Epoch: 4570/50000, Loss: 0.0445942915976048\n",
      "Epoch: 4580/50000, Loss: 0.0444120578467846\n",
      "Epoch: 4590/50000, Loss: 0.0442881099879742\n",
      "Epoch: 4600/50000, Loss: 0.0439513996243477\n",
      "Epoch: 4610/50000, Loss: 0.0437632687389851\n",
      "Epoch: 4620/50000, Loss: 0.0435171686112881\n",
      "Epoch: 4630/50000, Loss: 0.0432987101376057\n",
      "Epoch: 4640/50000, Loss: 0.0430870279669762\n",
      "Epoch: 4650/50000, Loss: 0.0428898036479950\n",
      "Epoch: 4660/50000, Loss: 0.0427367910742760\n",
      "Epoch: 4670/50000, Loss: 0.0424759685993195\n",
      "Epoch: 4680/50000, Loss: 0.0422610193490982\n",
      "Epoch: 4690/50000, Loss: 0.0420499518513680\n",
      "Epoch: 4700/50000, Loss: 0.0418400019407272\n",
      "Epoch: 4710/50000, Loss: 0.0416401326656342\n",
      "Epoch: 4720/50000, Loss: 0.0415630452334881\n",
      "Epoch: 4730/50000, Loss: 0.0413959212601185\n",
      "Epoch: 4740/50000, Loss: 0.0410776287317276\n",
      "Epoch: 4750/50000, Loss: 0.0408340655267239\n",
      "Epoch: 4760/50000, Loss: 0.0406294576823711\n",
      "Epoch: 4770/50000, Loss: 0.0404247865080833\n",
      "Epoch: 4780/50000, Loss: 0.0402261465787888\n",
      "Epoch: 4790/50000, Loss: 0.0400307513773441\n",
      "Epoch: 4800/50000, Loss: 0.0399045199155807\n",
      "Epoch: 4810/50000, Loss: 0.0396772958338261\n",
      "Epoch: 4820/50000, Loss: 0.0394908152520657\n",
      "Epoch: 4830/50000, Loss: 0.0392769239842892\n",
      "Epoch: 4840/50000, Loss: 0.0390700697898865\n",
      "Epoch: 4850/50000, Loss: 0.0388795621693134\n",
      "Epoch: 4860/50000, Loss: 0.0386875420808792\n",
      "Epoch: 4870/50000, Loss: 0.0384993851184845\n",
      "Epoch: 4880/50000, Loss: 0.0383130572736263\n",
      "Epoch: 4890/50000, Loss: 0.0381300561130047\n",
      "Epoch: 4900/50000, Loss: 0.0381029620766640\n",
      "Epoch: 4910/50000, Loss: 0.0378434732556343\n",
      "Epoch: 4920/50000, Loss: 0.0376448035240173\n",
      "Epoch: 4930/50000, Loss: 0.0374149046838284\n",
      "Epoch: 4940/50000, Loss: 0.0372227132320404\n",
      "Epoch: 4950/50000, Loss: 0.0370428785681725\n",
      "Epoch: 4960/50000, Loss: 0.0368674919009209\n",
      "Epoch: 4970/50000, Loss: 0.0368261113762856\n",
      "Epoch: 4980/50000, Loss: 0.0365333706140518\n",
      "Epoch: 4990/50000, Loss: 0.0363342948257923\n",
      "Epoch: 5000/50000, Loss: 0.0361453033983707\n",
      "Epoch: 5010/50000, Loss: 0.0359631143510342\n",
      "Epoch: 5020/50000, Loss: 0.0357865020632744\n",
      "Epoch: 5030/50000, Loss: 0.0356146059930325\n",
      "Epoch: 5040/50000, Loss: 0.0355124883353710\n",
      "Epoch: 5050/50000, Loss: 0.0353300422430038\n",
      "Epoch: 5060/50000, Loss: 0.0351706184446812\n",
      "Epoch: 5070/50000, Loss: 0.0349640324711800\n",
      "Epoch: 5080/50000, Loss: 0.0347663946449757\n",
      "Epoch: 5090/50000, Loss: 0.0345987975597382\n",
      "Epoch: 5100/50000, Loss: 0.0344274379312992\n",
      "Epoch: 5110/50000, Loss: 0.0342594794929028\n",
      "Epoch: 5120/50000, Loss: 0.0340933166444302\n",
      "Epoch: 5130/50000, Loss: 0.0339283049106598\n",
      "Epoch: 5140/50000, Loss: 0.0338120646774769\n",
      "Epoch: 5150/50000, Loss: 0.0336531549692154\n",
      "Epoch: 5160/50000, Loss: 0.0334856808185577\n",
      "Epoch: 5170/50000, Loss: 0.0332845523953438\n",
      "Epoch: 5180/50000, Loss: 0.0331144928932190\n",
      "Epoch: 5190/50000, Loss: 0.0329515188932419\n",
      "Epoch: 5200/50000, Loss: 0.0327899940311909\n",
      "Epoch: 5210/50000, Loss: 0.0326681509613991\n",
      "Epoch: 5220/50000, Loss: 0.0325879938900471\n",
      "Epoch: 5230/50000, Loss: 0.0324667431414127\n",
      "Epoch: 5240/50000, Loss: 0.0321883670985699\n",
      "Epoch: 5250/50000, Loss: 0.0320045202970505\n",
      "Epoch: 5260/50000, Loss: 0.0318444930016994\n",
      "Epoch: 5270/50000, Loss: 0.0316792540252209\n",
      "Epoch: 5280/50000, Loss: 0.0315194688737392\n",
      "Epoch: 5290/50000, Loss: 0.0313747040927410\n",
      "Epoch: 5300/50000, Loss: 0.0314708910882473\n",
      "Epoch: 5310/50000, Loss: 0.0311308894306421\n",
      "Epoch: 5320/50000, Loss: 0.0309273973107338\n",
      "Epoch: 5330/50000, Loss: 0.0307662077248096\n",
      "Epoch: 5340/50000, Loss: 0.0306059606373310\n",
      "Epoch: 5350/50000, Loss: 0.0304530560970306\n",
      "Epoch: 5360/50000, Loss: 0.0303011108189821\n",
      "Epoch: 5370/50000, Loss: 0.0302150938659906\n",
      "Epoch: 5380/50000, Loss: 0.0300742071121931\n",
      "Epoch: 5390/50000, Loss: 0.0299351718276739\n",
      "Epoch: 5400/50000, Loss: 0.0297178104519844\n",
      "Epoch: 5410/50000, Loss: 0.0295653752982616\n",
      "Epoch: 5420/50000, Loss: 0.0294001456350088\n",
      "Epoch: 5430/50000, Loss: 0.0292569063603878\n",
      "Epoch: 5440/50000, Loss: 0.0291240196675062\n",
      "Epoch: 5450/50000, Loss: 0.0291468594223261\n",
      "Epoch: 5460/50000, Loss: 0.0288434773683548\n",
      "Epoch: 5470/50000, Loss: 0.0286824256181717\n",
      "Epoch: 5480/50000, Loss: 0.0285360049456358\n",
      "Epoch: 5490/50000, Loss: 0.0283889286220074\n",
      "Epoch: 5500/50000, Loss: 0.0282343719154596\n",
      "Epoch: 5510/50000, Loss: 0.0281684994697571\n",
      "Epoch: 5520/50000, Loss: 0.0279984790831804\n",
      "Epoch: 5530/50000, Loss: 0.0278031025081873\n",
      "Epoch: 5540/50000, Loss: 0.0276528447866440\n",
      "Epoch: 5550/50000, Loss: 0.0274895131587982\n",
      "Epoch: 5560/50000, Loss: 0.0273441132158041\n",
      "Epoch: 5570/50000, Loss: 0.0272777266800404\n",
      "Epoch: 5580/50000, Loss: 0.0271250400692225\n",
      "Epoch: 5590/50000, Loss: 0.0269690342247486\n",
      "Epoch: 5600/50000, Loss: 0.0268064010888338\n",
      "Epoch: 5610/50000, Loss: 0.0266631785780191\n",
      "Epoch: 5620/50000, Loss: 0.0265199895948172\n",
      "Epoch: 5630/50000, Loss: 0.0264199618250132\n",
      "Epoch: 5640/50000, Loss: 0.0263249855488539\n",
      "Epoch: 5650/50000, Loss: 0.0261684469878674\n",
      "Epoch: 5660/50000, Loss: 0.0260081179440022\n",
      "Epoch: 5670/50000, Loss: 0.0258553158491850\n",
      "Epoch: 5680/50000, Loss: 0.0257415082305670\n",
      "Epoch: 5690/50000, Loss: 0.0256568379700184\n",
      "Epoch: 5700/50000, Loss: 0.0255634430795908\n",
      "Epoch: 5710/50000, Loss: 0.0253319870680571\n",
      "Epoch: 5720/50000, Loss: 0.0252094436436892\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 5730/50000, Loss: 0.0250649675726891\n",
      "Epoch: 5740/50000, Loss: 0.0249249394983053\n",
      "Epoch: 5750/50000, Loss: 0.0247948896139860\n",
      "Epoch: 5760/50000, Loss: 0.0247501991689205\n",
      "Epoch: 5770/50000, Loss: 0.0245612710714340\n",
      "Epoch: 5780/50000, Loss: 0.0245552919805050\n",
      "Epoch: 5790/50000, Loss: 0.0242871809750795\n",
      "Epoch: 5800/50000, Loss: 0.0241529271006584\n",
      "Epoch: 5810/50000, Loss: 0.0240258723497391\n",
      "Epoch: 5820/50000, Loss: 0.0238974299281836\n",
      "Epoch: 5830/50000, Loss: 0.0237736329436302\n",
      "Epoch: 5840/50000, Loss: 0.0236514694988728\n",
      "Epoch: 5850/50000, Loss: 0.0235297530889511\n",
      "Epoch: 5860/50000, Loss: 0.0234154853969812\n",
      "Epoch: 5870/50000, Loss: 0.0234374292194843\n",
      "Epoch: 5880/50000, Loss: 0.0232270434498787\n",
      "Epoch: 5890/50000, Loss: 0.0230837911367416\n",
      "Epoch: 5900/50000, Loss: 0.0229354258626699\n",
      "Epoch: 5910/50000, Loss: 0.0228247642517090\n",
      "Epoch: 5920/50000, Loss: 0.0227559339255095\n",
      "Epoch: 5930/50000, Loss: 0.0226553604006767\n",
      "Epoch: 5940/50000, Loss: 0.0224928837269545\n",
      "Epoch: 5950/50000, Loss: 0.0223528835922480\n",
      "Epoch: 5960/50000, Loss: 0.0222130846232176\n",
      "Epoch: 5970/50000, Loss: 0.0220977850258350\n",
      "Epoch: 5980/50000, Loss: 0.0220070127397776\n",
      "Epoch: 5990/50000, Loss: 0.0220491867512465\n",
      "Epoch: 6000/50000, Loss: 0.0217870902270079\n",
      "Epoch: 6010/50000, Loss: 0.0216396525502205\n",
      "Epoch: 6020/50000, Loss: 0.0215281397104263\n",
      "Epoch: 6030/50000, Loss: 0.0214389190077782\n",
      "Epoch: 6040/50000, Loss: 0.0213940665125847\n",
      "Epoch: 6050/50000, Loss: 0.0212128311395645\n",
      "Epoch: 6060/50000, Loss: 0.0210808925330639\n",
      "Epoch: 6070/50000, Loss: 0.0210234504193068\n",
      "Epoch: 6080/50000, Loss: 0.0209232456982136\n",
      "Epoch: 6090/50000, Loss: 0.0207500457763672\n",
      "Epoch: 6100/50000, Loss: 0.0206264071166515\n",
      "Epoch: 6110/50000, Loss: 0.0205187816172838\n",
      "Epoch: 6120/50000, Loss: 0.0204167589545250\n",
      "Epoch: 6130/50000, Loss: 0.0204330142587423\n",
      "Epoch: 6140/50000, Loss: 0.0202376954257488\n",
      "Epoch: 6150/50000, Loss: 0.0201104152947664\n",
      "Epoch: 6160/50000, Loss: 0.0200191903859377\n",
      "Epoch: 6170/50000, Loss: 0.0201056264340878\n",
      "Epoch: 6180/50000, Loss: 0.0198204182088375\n",
      "Epoch: 6190/50000, Loss: 0.0196769069880247\n",
      "Epoch: 6200/50000, Loss: 0.0195597354322672\n",
      "Epoch: 6210/50000, Loss: 0.0194641854614019\n",
      "Epoch: 6220/50000, Loss: 0.0193542335182428\n",
      "Epoch: 6230/50000, Loss: 0.0192875992506742\n",
      "Epoch: 6240/50000, Loss: 0.0191999133676291\n",
      "Epoch: 6250/50000, Loss: 0.0192150417715311\n",
      "Epoch: 6260/50000, Loss: 0.0189672745764256\n",
      "Epoch: 6270/50000, Loss: 0.0188597813248634\n",
      "Epoch: 6280/50000, Loss: 0.0187508240342140\n",
      "Epoch: 6290/50000, Loss: 0.0186426378786564\n",
      "Epoch: 6300/50000, Loss: 0.0185427945107222\n",
      "Epoch: 6310/50000, Loss: 0.0185185652226210\n",
      "Epoch: 6320/50000, Loss: 0.0184203796088696\n",
      "Epoch: 6330/50000, Loss: 0.0182909611612558\n",
      "Epoch: 6340/50000, Loss: 0.0181559566408396\n",
      "Epoch: 6350/50000, Loss: 0.0180324707180262\n",
      "Epoch: 6360/50000, Loss: 0.0179416295140982\n",
      "Epoch: 6370/50000, Loss: 0.0178455822169781\n",
      "Epoch: 6380/50000, Loss: 0.0178078562021255\n",
      "Epoch: 6390/50000, Loss: 0.0177411325275898\n",
      "Epoch: 6400/50000, Loss: 0.0175836347043514\n",
      "Epoch: 6410/50000, Loss: 0.0174815319478512\n",
      "Epoch: 6420/50000, Loss: 0.0175827704370022\n",
      "Epoch: 6430/50000, Loss: 0.0173204224556684\n",
      "Epoch: 6440/50000, Loss: 0.0171830188483000\n",
      "Epoch: 6450/50000, Loss: 0.0170719381421804\n",
      "Epoch: 6460/50000, Loss: 0.0169744323939085\n",
      "Epoch: 6470/50000, Loss: 0.0168820694088936\n",
      "Epoch: 6480/50000, Loss: 0.0167867280542850\n",
      "Epoch: 6490/50000, Loss: 0.0167305562645197\n",
      "Epoch: 6500/50000, Loss: 0.0168673899024725\n",
      "Epoch: 6510/50000, Loss: 0.0165642276406288\n",
      "Epoch: 6520/50000, Loss: 0.0164611171931028\n",
      "Epoch: 6530/50000, Loss: 0.0163312125951052\n",
      "Epoch: 6540/50000, Loss: 0.0162383988499641\n",
      "Epoch: 6550/50000, Loss: 0.0161426048725843\n",
      "Epoch: 6560/50000, Loss: 0.0160476285964251\n",
      "Epoch: 6570/50000, Loss: 0.0159502457827330\n",
      "Epoch: 6580/50000, Loss: 0.0158538352698088\n",
      "Epoch: 6590/50000, Loss: 0.0158580634742975\n",
      "Epoch: 6600/50000, Loss: 0.0160857886075974\n",
      "Epoch: 6610/50000, Loss: 0.0157811306416988\n",
      "Epoch: 6620/50000, Loss: 0.0155028784647584\n",
      "Epoch: 6630/50000, Loss: 0.0154198184609413\n",
      "Epoch: 6640/50000, Loss: 0.0153198074549437\n",
      "Epoch: 6650/50000, Loss: 0.0152260661125183\n",
      "Epoch: 6660/50000, Loss: 0.0151374209672213\n",
      "Epoch: 6670/50000, Loss: 0.0150501942262053\n",
      "Epoch: 6680/50000, Loss: 0.0149661395698786\n",
      "Epoch: 6690/50000, Loss: 0.0149856870993972\n",
      "Epoch: 6700/50000, Loss: 0.0148581247776747\n",
      "Epoch: 6710/50000, Loss: 0.0147355115041137\n",
      "Epoch: 6720/50000, Loss: 0.0146496351808310\n",
      "Epoch: 6730/50000, Loss: 0.0145514765754342\n",
      "Epoch: 6740/50000, Loss: 0.0144582884386182\n",
      "Epoch: 6750/50000, Loss: 0.0143742701038718\n",
      "Epoch: 6760/50000, Loss: 0.0142927840352058\n",
      "Epoch: 6770/50000, Loss: 0.0142531469464302\n",
      "Epoch: 6780/50000, Loss: 0.0143134659156203\n",
      "Epoch: 6790/50000, Loss: 0.0140954526141286\n",
      "Epoch: 6800/50000, Loss: 0.0139795048162341\n",
      "Epoch: 6810/50000, Loss: 0.0138910291716456\n",
      "Epoch: 6820/50000, Loss: 0.0138077782467008\n",
      "Epoch: 6830/50000, Loss: 0.0137333162128925\n",
      "Epoch: 6840/50000, Loss: 0.0139482822269201\n",
      "Epoch: 6850/50000, Loss: 0.0136848352849483\n",
      "Epoch: 6860/50000, Loss: 0.0135049959644675\n",
      "Epoch: 6870/50000, Loss: 0.0134221399202943\n",
      "Epoch: 6880/50000, Loss: 0.0133387772366405\n",
      "Epoch: 6890/50000, Loss: 0.0132395913824439\n",
      "Epoch: 6900/50000, Loss: 0.0131526142358780\n",
      "Epoch: 6910/50000, Loss: 0.0130807328969240\n",
      "Epoch: 6920/50000, Loss: 0.0132067631930113\n",
      "Epoch: 6930/50000, Loss: 0.0129448603838682\n",
      "Epoch: 6940/50000, Loss: 0.0128578506410122\n",
      "Epoch: 6950/50000, Loss: 0.0127710895612836\n",
      "Epoch: 6960/50000, Loss: 0.0126979267224669\n",
      "Epoch: 6970/50000, Loss: 0.0126415872946382\n",
      "Epoch: 6980/50000, Loss: 0.0125420903787017\n",
      "Epoch: 6990/50000, Loss: 0.0125143481418490\n",
      "Epoch: 7000/50000, Loss: 0.0124851595610380\n",
      "Epoch: 7010/50000, Loss: 0.0123807406052947\n",
      "Epoch: 7020/50000, Loss: 0.0122650144621730\n",
      "Epoch: 7030/50000, Loss: 0.0121836876496673\n",
      "Epoch: 7040/50000, Loss: 0.0121133625507355\n",
      "Epoch: 7050/50000, Loss: 0.0122670046985149\n",
      "Epoch: 7060/50000, Loss: 0.0120445135980844\n",
      "Epoch: 7070/50000, Loss: 0.0119721302762628\n",
      "Epoch: 7080/50000, Loss: 0.0118473395705223\n",
      "Epoch: 7090/50000, Loss: 0.0117835514247417\n",
      "Epoch: 7100/50000, Loss: 0.0118551347404718\n",
      "Epoch: 7110/50000, Loss: 0.0116700651124120\n",
      "Epoch: 7120/50000, Loss: 0.0115679055452347\n",
      "Epoch: 7130/50000, Loss: 0.0114884246140718\n",
      "Epoch: 7140/50000, Loss: 0.0114230345934629\n",
      "Epoch: 7150/50000, Loss: 0.0113915046676993\n",
      "Epoch: 7160/50000, Loss: 0.0115913674235344\n",
      "Epoch: 7170/50000, Loss: 0.0112892528995872\n",
      "Epoch: 7180/50000, Loss: 0.0111650526523590\n",
      "Epoch: 7190/50000, Loss: 0.0110817756503820\n",
      "Epoch: 7200/50000, Loss: 0.0110171493142843\n",
      "Epoch: 7210/50000, Loss: 0.0109496088698506\n",
      "Epoch: 7220/50000, Loss: 0.0108873061835766\n",
      "Epoch: 7230/50000, Loss: 0.0108666596934199\n",
      "Epoch: 7240/50000, Loss: 0.0110035529360175\n",
      "Epoch: 7250/50000, Loss: 0.0107915122061968\n",
      "Epoch: 7260/50000, Loss: 0.0106533132493496\n",
      "Epoch: 7270/50000, Loss: 0.0105746481567621\n",
      "Epoch: 7280/50000, Loss: 0.0105125159025192\n",
      "Epoch: 7290/50000, Loss: 0.0104855997487903\n",
      "Epoch: 7300/50000, Loss: 0.0105487620458007\n",
      "Epoch: 7310/50000, Loss: 0.0103428196161985\n",
      "Epoch: 7320/50000, Loss: 0.0102890040725470\n",
      "Epoch: 7330/50000, Loss: 0.0102275237441063\n",
      "Epoch: 7340/50000, Loss: 0.0102148037403822\n",
      "Epoch: 7350/50000, Loss: 0.0102343615144491\n",
      "Epoch: 7360/50000, Loss: 0.0100772287696600\n",
      "Epoch: 7370/50000, Loss: 0.0099961394444108\n",
      "Epoch: 7380/50000, Loss: 0.0099400812759995\n",
      "Epoch: 7390/50000, Loss: 0.0098849367350340\n",
      "Epoch: 7400/50000, Loss: 0.0098432507365942\n",
      "Epoch: 7410/50000, Loss: 0.0098413480445743\n",
      "Epoch: 7420/50000, Loss: 0.0099123045802116\n",
      "Epoch: 7430/50000, Loss: 0.0096984757110476\n",
      "Epoch: 7440/50000, Loss: 0.0096393190324306\n",
      "Epoch: 7450/50000, Loss: 0.0095480093732476\n",
      "Epoch: 7460/50000, Loss: 0.0094899814575911\n",
      "Epoch: 7470/50000, Loss: 0.0094366632401943\n",
      "Epoch: 7480/50000, Loss: 0.0093828346580267\n",
      "Epoch: 7490/50000, Loss: 0.0093302922323346\n",
      "Epoch: 7500/50000, Loss: 0.0092967413365841\n",
      "Epoch: 7510/50000, Loss: 0.0095033990219235\n",
      "Epoch: 7520/50000, Loss: 0.0092812608927488\n",
      "Epoch: 7530/50000, Loss: 0.0091884098947048\n",
      "Epoch: 7540/50000, Loss: 0.0090730469673872\n",
      "Epoch: 7550/50000, Loss: 0.0090284710749984\n",
      "Epoch: 7560/50000, Loss: 0.0089833112433553\n",
      "Epoch: 7570/50000, Loss: 0.0090222535654902\n",
      "Epoch: 7580/50000, Loss: 0.0089717004448175\n",
      "Epoch: 7590/50000, Loss: 0.0088699348270893\n",
      "Epoch: 7600/50000, Loss: 0.0087911896407604\n",
      "Epoch: 7610/50000, Loss: 0.0087247788906097\n",
      "Epoch: 7620/50000, Loss: 0.0086893085390329\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 7630/50000, Loss: 0.0087131345644593\n",
      "Epoch: 7640/50000, Loss: 0.0086667751893401\n",
      "Epoch: 7650/50000, Loss: 0.0085714105516672\n",
      "Epoch: 7660/50000, Loss: 0.0085043786093593\n",
      "Epoch: 7670/50000, Loss: 0.0084592113271356\n",
      "Epoch: 7680/50000, Loss: 0.0084355836734176\n",
      "Epoch: 7690/50000, Loss: 0.0086084883660078\n",
      "Epoch: 7700/50000, Loss: 0.0083502642810345\n",
      "Epoch: 7710/50000, Loss: 0.0082728369161487\n",
      "Epoch: 7720/50000, Loss: 0.0082268696278334\n",
      "Epoch: 7730/50000, Loss: 0.0081811621785164\n",
      "Epoch: 7740/50000, Loss: 0.0081351110711694\n",
      "Epoch: 7750/50000, Loss: 0.0081125376746058\n",
      "Epoch: 7760/50000, Loss: 0.0085030002519488\n",
      "Epoch: 7770/50000, Loss: 0.0080742063000798\n",
      "Epoch: 7780/50000, Loss: 0.0080267330631614\n",
      "Epoch: 7790/50000, Loss: 0.0079357335343957\n",
      "Epoch: 7800/50000, Loss: 0.0078830476850271\n",
      "Epoch: 7810/50000, Loss: 0.0078445803374052\n",
      "Epoch: 7820/50000, Loss: 0.0078049735166132\n",
      "Epoch: 7830/50000, Loss: 0.0078384941443801\n",
      "Epoch: 7840/50000, Loss: 0.0079192873090506\n",
      "Epoch: 7850/50000, Loss: 0.0077607911080122\n",
      "Epoch: 7860/50000, Loss: 0.0076719918288291\n",
      "Epoch: 7870/50000, Loss: 0.0076148044317961\n",
      "Epoch: 7880/50000, Loss: 0.0075637842528522\n",
      "Epoch: 7890/50000, Loss: 0.0075227520428598\n",
      "Epoch: 7900/50000, Loss: 0.0074840309098363\n",
      "Epoch: 7910/50000, Loss: 0.0074965157546103\n",
      "Epoch: 7920/50000, Loss: 0.0074351984076202\n",
      "Epoch: 7930/50000, Loss: 0.0074435863643885\n",
      "Epoch: 7940/50000, Loss: 0.0076332846656442\n",
      "Epoch: 7950/50000, Loss: 0.0073904907330871\n",
      "Epoch: 7960/50000, Loss: 0.0072834729216993\n",
      "Epoch: 7970/50000, Loss: 0.0072261905297637\n",
      "Epoch: 7980/50000, Loss: 0.0071886153891683\n",
      "Epoch: 7990/50000, Loss: 0.0071733715012670\n",
      "Epoch: 8000/50000, Loss: 0.0073813782073557\n",
      "Epoch: 8010/50000, Loss: 0.0071298410184681\n",
      "Epoch: 8020/50000, Loss: 0.0070548173971474\n",
      "Epoch: 8030/50000, Loss: 0.0070159519091249\n",
      "Epoch: 8040/50000, Loss: 0.0069798016920686\n",
      "Epoch: 8050/50000, Loss: 0.0070294402539730\n",
      "Epoch: 8060/50000, Loss: 0.0069839297793806\n",
      "Epoch: 8070/50000, Loss: 0.0068904017098248\n",
      "Epoch: 8080/50000, Loss: 0.0068435128778219\n",
      "Epoch: 8090/50000, Loss: 0.0068012513220310\n",
      "Epoch: 8100/50000, Loss: 0.0068102935329080\n",
      "Epoch: 8110/50000, Loss: 0.0068005160428584\n",
      "Epoch: 8120/50000, Loss: 0.0067089698277414\n",
      "Epoch: 8130/50000, Loss: 0.0066687855869532\n",
      "Epoch: 8140/50000, Loss: 0.0066327974200249\n",
      "Epoch: 8150/50000, Loss: 0.0066066761501133\n",
      "Epoch: 8160/50000, Loss: 0.0066824839450419\n",
      "Epoch: 8170/50000, Loss: 0.0066015035845339\n",
      "Epoch: 8180/50000, Loss: 0.0065382472239435\n",
      "Epoch: 8190/50000, Loss: 0.0064879735000432\n",
      "Epoch: 8200/50000, Loss: 0.0064530814997852\n",
      "Epoch: 8210/50000, Loss: 0.0065690027549863\n",
      "Epoch: 8220/50000, Loss: 0.0064459233544767\n",
      "Epoch: 8230/50000, Loss: 0.0063900882378221\n",
      "Epoch: 8240/50000, Loss: 0.0063774408772588\n",
      "Epoch: 8250/50000, Loss: 0.0063571250066161\n",
      "Epoch: 8260/50000, Loss: 0.0063511403277516\n",
      "Epoch: 8270/50000, Loss: 0.0063125984743237\n",
      "Epoch: 8280/50000, Loss: 0.0062459101900458\n",
      "Epoch: 8290/50000, Loss: 0.0061933821998537\n",
      "Epoch: 8300/50000, Loss: 0.0061878990381956\n",
      "Epoch: 8310/50000, Loss: 0.0062932632863522\n",
      "Epoch: 8320/50000, Loss: 0.0061152465641499\n",
      "Epoch: 8330/50000, Loss: 0.0061260042712092\n",
      "Epoch: 8340/50000, Loss: 0.0060945842415094\n",
      "Epoch: 8350/50000, Loss: 0.0060912142507732\n",
      "Epoch: 8360/50000, Loss: 0.0060194418765604\n",
      "Epoch: 8370/50000, Loss: 0.0059904861263931\n",
      "Epoch: 8380/50000, Loss: 0.0059529929421842\n",
      "Epoch: 8390/50000, Loss: 0.0060720625333488\n",
      "Epoch: 8400/50000, Loss: 0.0059217233210802\n",
      "Epoch: 8410/50000, Loss: 0.0059473668225110\n",
      "Epoch: 8420/50000, Loss: 0.0059307445771992\n",
      "Epoch: 8430/50000, Loss: 0.0058558625169098\n",
      "Epoch: 8440/50000, Loss: 0.0058065340854228\n",
      "Epoch: 8450/50000, Loss: 0.0057780984789133\n",
      "Epoch: 8460/50000, Loss: 0.0057506179437041\n",
      "Epoch: 8470/50000, Loss: 0.0057541495189071\n",
      "Epoch: 8480/50000, Loss: 0.0062755323015153\n",
      "Epoch: 8490/50000, Loss: 0.0058196848258376\n",
      "Epoch: 8500/50000, Loss: 0.0056936512701213\n",
      "Epoch: 8510/50000, Loss: 0.0056523494422436\n",
      "Epoch: 8520/50000, Loss: 0.0056125880219042\n",
      "Epoch: 8530/50000, Loss: 0.0055887354537845\n",
      "Epoch: 8540/50000, Loss: 0.0055642500519753\n",
      "Epoch: 8550/50000, Loss: 0.0055423602461815\n",
      "Epoch: 8560/50000, Loss: 0.0055664912797511\n",
      "Epoch: 8570/50000, Loss: 0.0056407968513668\n",
      "Epoch: 8580/50000, Loss: 0.0055372673086822\n",
      "Epoch: 8590/50000, Loss: 0.0054841684177518\n",
      "Epoch: 8600/50000, Loss: 0.0054430072195828\n",
      "Epoch: 8610/50000, Loss: 0.0054449103772640\n",
      "Epoch: 8620/50000, Loss: 0.0055746491998434\n",
      "Epoch: 8630/50000, Loss: 0.0054065166041255\n",
      "Epoch: 8640/50000, Loss: 0.0053644189611077\n",
      "Epoch: 8650/50000, Loss: 0.0053517916239798\n",
      "Epoch: 8660/50000, Loss: 0.0053352387621999\n",
      "Epoch: 8670/50000, Loss: 0.0053620277903974\n",
      "Epoch: 8680/50000, Loss: 0.0054011023603380\n",
      "Epoch: 8690/50000, Loss: 0.0052994219586253\n",
      "Epoch: 8700/50000, Loss: 0.0052472455427051\n",
      "Epoch: 8710/50000, Loss: 0.0052398405969143\n",
      "Epoch: 8720/50000, Loss: 0.0052515068091452\n",
      "Epoch: 8730/50000, Loss: 0.0052571478299797\n",
      "Epoch: 8740/50000, Loss: 0.0052809840999544\n",
      "Epoch: 8750/50000, Loss: 0.0052225021645427\n",
      "Epoch: 8760/50000, Loss: 0.0051831132732332\n",
      "Epoch: 8770/50000, Loss: 0.0051283170469105\n",
      "Epoch: 8780/50000, Loss: 0.0051005859859288\n",
      "Epoch: 8790/50000, Loss: 0.0051677180454135\n",
      "Epoch: 8800/50000, Loss: 0.0052326600998640\n",
      "Epoch: 8810/50000, Loss: 0.0050385110080242\n",
      "Epoch: 8820/50000, Loss: 0.0050329617224634\n",
      "Epoch: 8830/50000, Loss: 0.0049940245226026\n",
      "Epoch: 8840/50000, Loss: 0.0049782115966082\n",
      "Epoch: 8850/50000, Loss: 0.0049887504428625\n",
      "Epoch: 8860/50000, Loss: 0.0051270718686283\n",
      "Epoch: 8870/50000, Loss: 0.0049642361700535\n",
      "Epoch: 8880/50000, Loss: 0.0049316175282001\n",
      "Epoch: 8890/50000, Loss: 0.0049057435244322\n",
      "Epoch: 8900/50000, Loss: 0.0049007870256901\n",
      "Epoch: 8910/50000, Loss: 0.0050763995386660\n",
      "Epoch: 8920/50000, Loss: 0.0048710335977376\n",
      "Epoch: 8930/50000, Loss: 0.0048349052667618\n",
      "Epoch: 8940/50000, Loss: 0.0048101674765348\n",
      "Epoch: 8950/50000, Loss: 0.0047926809638739\n",
      "Epoch: 8960/50000, Loss: 0.0048568639904261\n",
      "Epoch: 8970/50000, Loss: 0.0048164837062359\n",
      "Epoch: 8980/50000, Loss: 0.0047443965449929\n",
      "Epoch: 8990/50000, Loss: 0.0047404658980668\n",
      "Epoch: 9000/50000, Loss: 0.0049530211836100\n",
      "Epoch: 9010/50000, Loss: 0.0047010439448059\n",
      "Epoch: 9020/50000, Loss: 0.0046716318465769\n",
      "Epoch: 9030/50000, Loss: 0.0046570342965424\n",
      "Epoch: 9040/50000, Loss: 0.0046558789908886\n",
      "Epoch: 9050/50000, Loss: 0.0047779353335500\n",
      "Epoch: 9060/50000, Loss: 0.0046765571460128\n",
      "Epoch: 9070/50000, Loss: 0.0046125221997499\n",
      "Epoch: 9080/50000, Loss: 0.0045701558701694\n",
      "Epoch: 9090/50000, Loss: 0.0045472336933017\n",
      "Epoch: 9100/50000, Loss: 0.0045660785399377\n",
      "Epoch: 9110/50000, Loss: 0.0046867914497852\n",
      "Epoch: 9120/50000, Loss: 0.0047045564278960\n",
      "Epoch: 9130/50000, Loss: 0.0045048114843667\n",
      "Epoch: 9140/50000, Loss: 0.0045160520821810\n",
      "Epoch: 9150/50000, Loss: 0.0044497791677713\n",
      "Epoch: 9160/50000, Loss: 0.0044409325346351\n",
      "Epoch: 9170/50000, Loss: 0.0044227661564946\n",
      "Epoch: 9180/50000, Loss: 0.0044063110835850\n",
      "Epoch: 9190/50000, Loss: 0.0043904921039939\n",
      "Epoch: 9200/50000, Loss: 0.0043762405402958\n",
      "Epoch: 9210/50000, Loss: 0.0043740174733102\n",
      "Epoch: 9220/50000, Loss: 0.0048322160728276\n",
      "Epoch: 9230/50000, Loss: 0.0044129467569292\n",
      "Epoch: 9240/50000, Loss: 0.0043506203219295\n",
      "Epoch: 9250/50000, Loss: 0.0043254513293505\n",
      "Epoch: 9260/50000, Loss: 0.0043726414442062\n",
      "Epoch: 9270/50000, Loss: 0.0045230281539261\n",
      "Epoch: 9280/50000, Loss: 0.0043711373582482\n",
      "Epoch: 9290/50000, Loss: 0.0042940396815538\n",
      "Epoch: 9300/50000, Loss: 0.0042598578147590\n",
      "Epoch: 9310/50000, Loss: 0.0042369076982141\n",
      "Epoch: 9320/50000, Loss: 0.0042200298048556\n",
      "Epoch: 9330/50000, Loss: 0.0042285122908652\n",
      "Epoch: 9340/50000, Loss: 0.0046192226000130\n",
      "Epoch: 9350/50000, Loss: 0.0041914097964764\n",
      "Epoch: 9360/50000, Loss: 0.0042230165563524\n",
      "Epoch: 9370/50000, Loss: 0.0041600530967116\n",
      "Epoch: 9380/50000, Loss: 0.0041514686308801\n",
      "Epoch: 9390/50000, Loss: 0.0041510318405926\n",
      "Epoch: 9400/50000, Loss: 0.0044470140710473\n",
      "Epoch: 9410/50000, Loss: 0.0041674864478409\n",
      "Epoch: 9420/50000, Loss: 0.0041354582644999\n",
      "Epoch: 9430/50000, Loss: 0.0041080270893872\n",
      "Epoch: 9440/50000, Loss: 0.0040870001539588\n",
      "Epoch: 9450/50000, Loss: 0.0040735634975135\n",
      "Epoch: 9460/50000, Loss: 0.0042055645026267\n",
      "Epoch: 9470/50000, Loss: 0.0040940064936876\n",
      "Epoch: 9480/50000, Loss: 0.0040591778233647\n",
      "Epoch: 9490/50000, Loss: 0.0040289293974638\n",
      "Epoch: 9500/50000, Loss: 0.0040261605754495\n",
      "Epoch: 9510/50000, Loss: 0.0041787480004132\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 9520/50000, Loss: 0.0040746508166194\n",
      "Epoch: 9530/50000, Loss: 0.0040116100572050\n",
      "Epoch: 9540/50000, Loss: 0.0039979987777770\n",
      "Epoch: 9550/50000, Loss: 0.0039764908142388\n",
      "Epoch: 9560/50000, Loss: 0.0039815120398998\n",
      "Epoch: 9570/50000, Loss: 0.0041070743463933\n",
      "Epoch: 9580/50000, Loss: 0.0039368397556245\n",
      "Epoch: 9590/50000, Loss: 0.0039543844759464\n",
      "Epoch: 9600/50000, Loss: 0.0039269900880754\n",
      "Epoch: 9610/50000, Loss: 0.0040989276021719\n",
      "Epoch: 9620/50000, Loss: 0.0039609461091459\n",
      "Epoch: 9630/50000, Loss: 0.0039219534955919\n",
      "Epoch: 9640/50000, Loss: 0.0038908056449145\n",
      "Epoch: 9650/50000, Loss: 0.0039209513925016\n",
      "Epoch: 9660/50000, Loss: 0.0040937536396086\n",
      "Epoch: 9670/50000, Loss: 0.0039100418798625\n",
      "Epoch: 9680/50000, Loss: 0.0038435377646238\n",
      "Epoch: 9690/50000, Loss: 0.0038397235330194\n",
      "Epoch: 9700/50000, Loss: 0.0038419745396823\n",
      "Epoch: 9710/50000, Loss: 0.0038854097947478\n",
      "Epoch: 9720/50000, Loss: 0.0038756721187383\n",
      "Epoch: 9730/50000, Loss: 0.0038533250335604\n",
      "Epoch: 9740/50000, Loss: 0.0038706667255610\n",
      "Epoch: 9750/50000, Loss: 0.0038040245417506\n",
      "Epoch: 9760/50000, Loss: 0.0037666906137019\n",
      "Epoch: 9770/50000, Loss: 0.0037605182733387\n",
      "Epoch: 9780/50000, Loss: 0.0038793848361820\n",
      "Epoch: 9790/50000, Loss: 0.0038374292198569\n",
      "Epoch: 9800/50000, Loss: 0.0037566458340734\n",
      "Epoch: 9810/50000, Loss: 0.0037264544516802\n",
      "Epoch: 9820/50000, Loss: 0.0037103439681232\n",
      "Epoch: 9830/50000, Loss: 0.0036968281492591\n",
      "Epoch: 9840/50000, Loss: 0.0036940330173820\n",
      "Epoch: 9850/50000, Loss: 0.0039716474711895\n",
      "Epoch: 9860/50000, Loss: 0.0038515978958458\n",
      "Epoch: 9870/50000, Loss: 0.0037055807188153\n",
      "Epoch: 9880/50000, Loss: 0.0037069185636938\n",
      "Epoch: 9890/50000, Loss: 0.0036807062570006\n",
      "Epoch: 9900/50000, Loss: 0.0036463167052716\n",
      "Epoch: 9910/50000, Loss: 0.0036330353468657\n",
      "Epoch: 9920/50000, Loss: 0.0036326758563519\n",
      "Epoch: 9930/50000, Loss: 0.0038141475524753\n",
      "Epoch: 9940/50000, Loss: 0.0036457546520978\n",
      "Epoch: 9950/50000, Loss: 0.0037535533774644\n",
      "Epoch: 9960/50000, Loss: 0.0036452447529882\n",
      "Epoch: 9970/50000, Loss: 0.0036420954857022\n",
      "Epoch: 9980/50000, Loss: 0.0035871297586709\n",
      "Epoch: 9990/50000, Loss: 0.0035748747177422\n",
      "Epoch: 10000/50000, Loss: 0.0035648846533149\n",
      "Epoch: 10010/50000, Loss: 0.0036087119951844\n",
      "Epoch: 10020/50000, Loss: 0.0036660518962890\n",
      "Epoch: 10030/50000, Loss: 0.0035697307903320\n",
      "Epoch: 10040/50000, Loss: 0.0035557001829147\n",
      "Epoch: 10050/50000, Loss: 0.0039013130590320\n",
      "Epoch: 10060/50000, Loss: 0.0036155791021883\n",
      "Epoch: 10070/50000, Loss: 0.0035377591848373\n",
      "Epoch: 10080/50000, Loss: 0.0035125338472426\n",
      "Epoch: 10090/50000, Loss: 0.0034969479311258\n",
      "Epoch: 10100/50000, Loss: 0.0034871299285442\n",
      "Epoch: 10110/50000, Loss: 0.0034912610426545\n",
      "Epoch: 10120/50000, Loss: 0.0036540934816003\n",
      "Epoch: 10130/50000, Loss: 0.0034893702249974\n",
      "Epoch: 10140/50000, Loss: 0.0035127250012010\n",
      "Epoch: 10150/50000, Loss: 0.0036829700693488\n",
      "Epoch: 10160/50000, Loss: 0.0035095759667456\n",
      "Epoch: 10170/50000, Loss: 0.0034580435603857\n",
      "Epoch: 10180/50000, Loss: 0.0034416327252984\n",
      "Epoch: 10190/50000, Loss: 0.0034300675615668\n",
      "Epoch: 10200/50000, Loss: 0.0034641332458705\n",
      "Epoch: 10210/50000, Loss: 0.0035105110146105\n",
      "Epoch: 10220/50000, Loss: 0.0034627695567906\n",
      "Epoch: 10230/50000, Loss: 0.0034330650232732\n",
      "Epoch: 10240/50000, Loss: 0.0034015339333564\n",
      "Epoch: 10250/50000, Loss: 0.0033877145033330\n",
      "Epoch: 10260/50000, Loss: 0.0034046715591103\n",
      "Epoch: 10270/50000, Loss: 0.0035888978745788\n",
      "Epoch: 10280/50000, Loss: 0.0034549555275589\n",
      "Epoch: 10290/50000, Loss: 0.0037486604414880\n",
      "Epoch: 10300/50000, Loss: 0.0034580775536597\n",
      "Epoch: 10310/50000, Loss: 0.0033582707401365\n",
      "Epoch: 10320/50000, Loss: 0.0033449048642069\n",
      "Epoch: 10330/50000, Loss: 0.0033340358640999\n",
      "Epoch: 10340/50000, Loss: 0.0033273987937719\n",
      "Epoch: 10350/50000, Loss: 0.0033221740741283\n",
      "Epoch: 10360/50000, Loss: 0.0033814834896475\n",
      "Epoch: 10370/50000, Loss: 0.0036097902338952\n",
      "Epoch: 10380/50000, Loss: 0.0033637566957623\n",
      "Epoch: 10390/50000, Loss: 0.0033054263330996\n",
      "Epoch: 10400/50000, Loss: 0.0032947862055153\n",
      "Epoch: 10410/50000, Loss: 0.0032874040771276\n",
      "Epoch: 10420/50000, Loss: 0.0032849255949259\n",
      "Epoch: 10430/50000, Loss: 0.0034374743700027\n",
      "Epoch: 10440/50000, Loss: 0.0033134673722088\n",
      "Epoch: 10450/50000, Loss: 0.0032850964926183\n",
      "Epoch: 10460/50000, Loss: 0.0032852573785931\n",
      "Epoch: 10470/50000, Loss: 0.0032639850396663\n",
      "Epoch: 10480/50000, Loss: 0.0032473402097821\n",
      "Epoch: 10490/50000, Loss: 0.0032387413084507\n",
      "Epoch: 10500/50000, Loss: 0.0032359703909606\n",
      "Epoch: 10510/50000, Loss: 0.0034203624818474\n",
      "Epoch: 10520/50000, Loss: 0.0032498929649591\n",
      "Epoch: 10530/50000, Loss: 0.0032924856059253\n",
      "Epoch: 10540/50000, Loss: 0.0032267861533910\n",
      "Epoch: 10550/50000, Loss: 0.0032058528158814\n",
      "Epoch: 10560/50000, Loss: 0.0032030423171818\n",
      "Epoch: 10570/50000, Loss: 0.0032174198422581\n",
      "Epoch: 10580/50000, Loss: 0.0035474528558552\n",
      "Epoch: 10590/50000, Loss: 0.0033018758986145\n",
      "Epoch: 10600/50000, Loss: 0.0032114984933287\n",
      "Epoch: 10610/50000, Loss: 0.0031784719321877\n",
      "Epoch: 10620/50000, Loss: 0.0031687300652266\n",
      "Epoch: 10630/50000, Loss: 0.0031630054581910\n",
      "Epoch: 10640/50000, Loss: 0.0031652785837650\n",
      "Epoch: 10650/50000, Loss: 0.0035694818943739\n",
      "Epoch: 10660/50000, Loss: 0.0033701001666486\n",
      "Epoch: 10670/50000, Loss: 0.0031551662832499\n",
      "Epoch: 10680/50000, Loss: 0.0031742283608764\n",
      "Epoch: 10690/50000, Loss: 0.0031352939549834\n",
      "Epoch: 10700/50000, Loss: 0.0031308000907302\n",
      "Epoch: 10710/50000, Loss: 0.0031231036409736\n",
      "Epoch: 10720/50000, Loss: 0.0031159624923021\n",
      "Epoch: 10730/50000, Loss: 0.0031110388226807\n",
      "Epoch: 10740/50000, Loss: 0.0031146195251495\n",
      "Epoch: 10750/50000, Loss: 0.0035199010744691\n",
      "Epoch: 10760/50000, Loss: 0.0033502753358334\n",
      "Epoch: 10770/50000, Loss: 0.0031670322641730\n",
      "Epoch: 10780/50000, Loss: 0.0031018552836031\n",
      "Epoch: 10790/50000, Loss: 0.0030963493045419\n",
      "Epoch: 10800/50000, Loss: 0.0030784364789724\n",
      "Epoch: 10810/50000, Loss: 0.0030740657821298\n",
      "Epoch: 10820/50000, Loss: 0.0030799710657448\n",
      "Epoch: 10830/50000, Loss: 0.0032460920047015\n",
      "Epoch: 10840/50000, Loss: 0.0030804844573140\n",
      "Epoch: 10850/50000, Loss: 0.0030664035584778\n",
      "Epoch: 10860/50000, Loss: 0.0030616000294685\n",
      "Epoch: 10870/50000, Loss: 0.0030561939347535\n",
      "Epoch: 10880/50000, Loss: 0.0031075945589691\n",
      "Epoch: 10890/50000, Loss: 0.0032743301708251\n",
      "Epoch: 10900/50000, Loss: 0.0031396776903421\n",
      "Epoch: 10910/50000, Loss: 0.0030993635300547\n",
      "Epoch: 10920/50000, Loss: 0.0031014559790492\n",
      "Epoch: 10930/50000, Loss: 0.0030335339251906\n",
      "Epoch: 10940/50000, Loss: 0.0030158199369907\n",
      "Epoch: 10950/50000, Loss: 0.0030199447646737\n",
      "Epoch: 10960/50000, Loss: 0.0031460430473089\n",
      "Epoch: 10970/50000, Loss: 0.0030378305818886\n",
      "Epoch: 10980/50000, Loss: 0.0030280612409115\n",
      "Epoch: 10990/50000, Loss: 0.0030237333849072\n",
      "Epoch: 11000/50000, Loss: 0.0031841455493122\n",
      "Epoch: 11010/50000, Loss: 0.0030055153183639\n",
      "Epoch: 11020/50000, Loss: 0.0030004642903805\n",
      "Epoch: 11030/50000, Loss: 0.0029805263038725\n",
      "Epoch: 11040/50000, Loss: 0.0029780745971948\n",
      "Epoch: 11050/50000, Loss: 0.0030417139641941\n",
      "Epoch: 11060/50000, Loss: 0.0030090815853328\n",
      "Epoch: 11070/50000, Loss: 0.0029723546467721\n",
      "Epoch: 11080/50000, Loss: 0.0029773206915706\n",
      "Epoch: 11090/50000, Loss: 0.0032678525894880\n",
      "Epoch: 11100/50000, Loss: 0.0030326624400914\n",
      "Epoch: 11110/50000, Loss: 0.0029734082054347\n",
      "Epoch: 11120/50000, Loss: 0.0029476161580533\n",
      "Epoch: 11130/50000, Loss: 0.0029316972941160\n",
      "Epoch: 11140/50000, Loss: 0.0029256127309054\n",
      "Epoch: 11150/50000, Loss: 0.0029320647008717\n",
      "Epoch: 11160/50000, Loss: 0.0031593907624483\n",
      "Epoch: 11170/50000, Loss: 0.0030858807731420\n",
      "Epoch: 11180/50000, Loss: 0.0029847181867808\n",
      "Epoch: 11190/50000, Loss: 0.0029228194616735\n",
      "Epoch: 11200/50000, Loss: 0.0029113190248609\n",
      "Epoch: 11210/50000, Loss: 0.0029317764565349\n",
      "Epoch: 11220/50000, Loss: 0.0030101991724223\n",
      "Epoch: 11230/50000, Loss: 0.0029403055086732\n",
      "Epoch: 11240/50000, Loss: 0.0029989415779710\n",
      "Epoch: 11250/50000, Loss: 0.0029262814205140\n",
      "Epoch: 11260/50000, Loss: 0.0029012339655310\n",
      "Epoch: 11270/50000, Loss: 0.0028890015091747\n",
      "Epoch: 11280/50000, Loss: 0.0029354707803577\n",
      "Epoch: 11290/50000, Loss: 0.0031648413278162\n",
      "Epoch: 11300/50000, Loss: 0.0029574590735137\n",
      "Epoch: 11310/50000, Loss: 0.0028742703143507\n",
      "Epoch: 11320/50000, Loss: 0.0028547775000334\n",
      "Epoch: 11330/50000, Loss: 0.0028600557707250\n",
      "Epoch: 11340/50000, Loss: 0.0029659850988537\n",
      "Epoch: 11350/50000, Loss: 0.0029445299878716\n",
      "Epoch: 11360/50000, Loss: 0.0028527711983770\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 11370/50000, Loss: 0.0028553302399814\n",
      "Epoch: 11380/50000, Loss: 0.0028790638316423\n",
      "Epoch: 11390/50000, Loss: 0.0029274255502969\n",
      "Epoch: 11400/50000, Loss: 0.0028521006461233\n",
      "Epoch: 11410/50000, Loss: 0.0028289698529989\n",
      "Epoch: 11420/50000, Loss: 0.0028418540023267\n",
      "Epoch: 11430/50000, Loss: 0.0031933549325913\n",
      "Epoch: 11440/50000, Loss: 0.0028819129802287\n",
      "Epoch: 11450/50000, Loss: 0.0028414921835065\n",
      "Epoch: 11460/50000, Loss: 0.0028181574307382\n",
      "Epoch: 11470/50000, Loss: 0.0028005091007799\n",
      "Epoch: 11480/50000, Loss: 0.0027976226992905\n",
      "Epoch: 11490/50000, Loss: 0.0029329170938581\n",
      "Epoch: 11500/50000, Loss: 0.0028431257233024\n",
      "Epoch: 11510/50000, Loss: 0.0028459466993809\n",
      "Epoch: 11520/50000, Loss: 0.0027902021538466\n",
      "Epoch: 11530/50000, Loss: 0.0027754255570471\n",
      "Epoch: 11540/50000, Loss: 0.0027705186512321\n",
      "Epoch: 11550/50000, Loss: 0.0027972781099379\n",
      "Epoch: 11560/50000, Loss: 0.0032881840597838\n",
      "Epoch: 11570/50000, Loss: 0.0027940371073782\n",
      "Epoch: 11580/50000, Loss: 0.0028270590119064\n",
      "Epoch: 11590/50000, Loss: 0.0027617646846920\n",
      "Epoch: 11600/50000, Loss: 0.0027529450599104\n",
      "Epoch: 11610/50000, Loss: 0.0027474772650748\n",
      "Epoch: 11620/50000, Loss: 0.0027415552176535\n",
      "Epoch: 11630/50000, Loss: 0.0027523455210030\n",
      "Epoch: 11640/50000, Loss: 0.0031189664732665\n",
      "Epoch: 11650/50000, Loss: 0.0029228155035526\n",
      "Epoch: 11660/50000, Loss: 0.0028004231862724\n",
      "Epoch: 11670/50000, Loss: 0.0027280985377729\n",
      "Epoch: 11680/50000, Loss: 0.0027238875627518\n",
      "Epoch: 11690/50000, Loss: 0.0027210323605686\n",
      "Epoch: 11700/50000, Loss: 0.0027157468721271\n",
      "Epoch: 11710/50000, Loss: 0.0027190006803721\n",
      "Epoch: 11720/50000, Loss: 0.0028999408241361\n",
      "Epoch: 11730/50000, Loss: 0.0027734488248825\n",
      "Epoch: 11740/50000, Loss: 0.0027475247625262\n",
      "Epoch: 11750/50000, Loss: 0.0027186409570277\n",
      "Epoch: 11760/50000, Loss: 0.0027064289897680\n",
      "Epoch: 11770/50000, Loss: 0.0026961036492139\n",
      "Epoch: 11780/50000, Loss: 0.0027106646448374\n",
      "Epoch: 11790/50000, Loss: 0.0028639773372561\n",
      "Epoch: 11800/50000, Loss: 0.0028481697663665\n",
      "Epoch: 11810/50000, Loss: 0.0027549811638892\n",
      "Epoch: 11820/50000, Loss: 0.0026926083955914\n",
      "Epoch: 11830/50000, Loss: 0.0026741025503725\n",
      "Epoch: 11840/50000, Loss: 0.0026710289530456\n",
      "Epoch: 11850/50000, Loss: 0.0026655590627342\n",
      "Epoch: 11860/50000, Loss: 0.0026676156558096\n",
      "Epoch: 11870/50000, Loss: 0.0028383089229465\n",
      "Epoch: 11880/50000, Loss: 0.0029091658070683\n",
      "Epoch: 11890/50000, Loss: 0.0027456702664495\n",
      "Epoch: 11900/50000, Loss: 0.0026730862446129\n",
      "Epoch: 11910/50000, Loss: 0.0026551936753094\n",
      "Epoch: 11920/50000, Loss: 0.0026488921139389\n",
      "Epoch: 11930/50000, Loss: 0.0026445551775396\n",
      "Epoch: 11940/50000, Loss: 0.0027130339294672\n",
      "Epoch: 11950/50000, Loss: 0.0027681291103363\n",
      "Epoch: 11960/50000, Loss: 0.0027537480928004\n",
      "Epoch: 11970/50000, Loss: 0.0026364042423666\n",
      "Epoch: 11980/50000, Loss: 0.0026400997303426\n",
      "Epoch: 11990/50000, Loss: 0.0026330815162510\n",
      "Epoch: 12000/50000, Loss: 0.0026332850102335\n",
      "Epoch: 12010/50000, Loss: 0.0027315248735249\n",
      "Epoch: 12020/50000, Loss: 0.0029316120781004\n",
      "Epoch: 12030/50000, Loss: 0.0027102811727673\n",
      "Epoch: 12040/50000, Loss: 0.0026574209332466\n",
      "Epoch: 12050/50000, Loss: 0.0026117158122361\n",
      "Epoch: 12060/50000, Loss: 0.0026037595234811\n",
      "Epoch: 12070/50000, Loss: 0.0025971019640565\n",
      "Epoch: 12080/50000, Loss: 0.0025948933325708\n",
      "Epoch: 12090/50000, Loss: 0.0025951080024242\n",
      "Epoch: 12100/50000, Loss: 0.0026569485198706\n",
      "Epoch: 12110/50000, Loss: 0.0029875359032303\n",
      "Epoch: 12120/50000, Loss: 0.0027297881897539\n",
      "Epoch: 12130/50000, Loss: 0.0026480329688638\n",
      "Epoch: 12140/50000, Loss: 0.0026205766480416\n",
      "Epoch: 12150/50000, Loss: 0.0025888327509165\n",
      "Epoch: 12160/50000, Loss: 0.0025743769947439\n",
      "Epoch: 12170/50000, Loss: 0.0025702647399157\n",
      "Epoch: 12180/50000, Loss: 0.0026350500993431\n",
      "Epoch: 12190/50000, Loss: 0.0026676692068577\n",
      "Epoch: 12200/50000, Loss: 0.0027592736296356\n",
      "Epoch: 12210/50000, Loss: 0.0025849298108369\n",
      "Epoch: 12220/50000, Loss: 0.0025666365399957\n",
      "Epoch: 12230/50000, Loss: 0.0025639138184488\n",
      "Epoch: 12240/50000, Loss: 0.0025555829051882\n",
      "Epoch: 12250/50000, Loss: 0.0025760887656361\n",
      "Epoch: 12260/50000, Loss: 0.0029307040385902\n",
      "Epoch: 12270/50000, Loss: 0.0026399048510939\n",
      "Epoch: 12280/50000, Loss: 0.0025875936262310\n",
      "Epoch: 12290/50000, Loss: 0.0025537610054016\n",
      "Epoch: 12300/50000, Loss: 0.0025386293418705\n",
      "Epoch: 12310/50000, Loss: 0.0025344265159220\n",
      "Epoch: 12320/50000, Loss: 0.0025799055583775\n",
      "Epoch: 12330/50000, Loss: 0.0027447475586087\n",
      "Epoch: 12340/50000, Loss: 0.0026197726838291\n",
      "Epoch: 12350/50000, Loss: 0.0025381916202605\n",
      "Epoch: 12360/50000, Loss: 0.0025321759749204\n",
      "Epoch: 12370/50000, Loss: 0.0025422621984035\n",
      "Epoch: 12380/50000, Loss: 0.0026618097908795\n",
      "Epoch: 12390/50000, Loss: 0.0025678495876491\n",
      "Epoch: 12400/50000, Loss: 0.0025721576530486\n",
      "Epoch: 12410/50000, Loss: 0.0025121239013970\n",
      "Epoch: 12420/50000, Loss: 0.0025547293480486\n",
      "Epoch: 12430/50000, Loss: 0.0026435451582074\n",
      "Epoch: 12440/50000, Loss: 0.0025295848026872\n",
      "Epoch: 12450/50000, Loss: 0.0024983303155750\n",
      "Epoch: 12460/50000, Loss: 0.0025111499708146\n",
      "Epoch: 12470/50000, Loss: 0.0026946002617478\n",
      "Epoch: 12480/50000, Loss: 0.0025365280453116\n",
      "Epoch: 12490/50000, Loss: 0.0025052914861590\n",
      "Epoch: 12500/50000, Loss: 0.0024908888153732\n",
      "Epoch: 12510/50000, Loss: 0.0024862147402018\n",
      "Epoch: 12520/50000, Loss: 0.0025228657759726\n",
      "Epoch: 12530/50000, Loss: 0.0025827318895608\n",
      "Epoch: 12540/50000, Loss: 0.0026408010162413\n",
      "Epoch: 12550/50000, Loss: 0.0024896909017116\n",
      "Epoch: 12560/50000, Loss: 0.0024797460064292\n",
      "Epoch: 12570/50000, Loss: 0.0024771196767688\n",
      "Epoch: 12580/50000, Loss: 0.0025020039174706\n",
      "Epoch: 12590/50000, Loss: 0.0026418962515891\n",
      "Epoch: 12600/50000, Loss: 0.0025243293493986\n",
      "Epoch: 12610/50000, Loss: 0.0024857884272933\n",
      "Epoch: 12620/50000, Loss: 0.0026236460544169\n",
      "Epoch: 12630/50000, Loss: 0.0024812452029437\n",
      "Epoch: 12640/50000, Loss: 0.0024650630075485\n",
      "Epoch: 12650/50000, Loss: 0.0025032302364707\n",
      "Epoch: 12660/50000, Loss: 0.0025743055157363\n",
      "Epoch: 12670/50000, Loss: 0.0024591069668531\n",
      "Epoch: 12680/50000, Loss: 0.0024814209900796\n",
      "Epoch: 12690/50000, Loss: 0.0024707105476409\n",
      "Epoch: 12700/50000, Loss: 0.0024696337059140\n",
      "Epoch: 12710/50000, Loss: 0.0026652712840587\n",
      "Epoch: 12720/50000, Loss: 0.0024472975637764\n",
      "Epoch: 12730/50000, Loss: 0.0024516750127077\n",
      "Epoch: 12740/50000, Loss: 0.0024392630439252\n",
      "Epoch: 12750/50000, Loss: 0.0024479585699737\n",
      "Epoch: 12760/50000, Loss: 0.0025878411252052\n",
      "Epoch: 12770/50000, Loss: 0.0024495306424797\n",
      "Epoch: 12780/50000, Loss: 0.0024649275001138\n",
      "Epoch: 12790/50000, Loss: 0.0026438774075359\n",
      "Epoch: 12800/50000, Loss: 0.0024930345825851\n",
      "Epoch: 12810/50000, Loss: 0.0024398055393249\n",
      "Epoch: 12820/50000, Loss: 0.0024376094806939\n",
      "Epoch: 12830/50000, Loss: 0.0026310617104173\n",
      "Epoch: 12840/50000, Loss: 0.0024024273734540\n",
      "Epoch: 12850/50000, Loss: 0.0024115827400237\n",
      "Epoch: 12860/50000, Loss: 0.0024065144825727\n",
      "Epoch: 12870/50000, Loss: 0.0023998732212931\n",
      "Epoch: 12880/50000, Loss: 0.0025127765256912\n",
      "Epoch: 12890/50000, Loss: 0.0024273497983813\n",
      "Epoch: 12900/50000, Loss: 0.0024016029201448\n",
      "Epoch: 12910/50000, Loss: 0.0023909008596092\n",
      "Epoch: 12920/50000, Loss: 0.0024006888270378\n",
      "Epoch: 12930/50000, Loss: 0.0025831554085016\n",
      "Epoch: 12940/50000, Loss: 0.0024104455951601\n",
      "Epoch: 12950/50000, Loss: 0.0024410684127361\n",
      "Epoch: 12960/50000, Loss: 0.0024288478307426\n",
      "Epoch: 12970/50000, Loss: 0.0024004131555557\n",
      "Epoch: 12980/50000, Loss: 0.0024079375434667\n",
      "Epoch: 12990/50000, Loss: 0.0023937961086631\n",
      "Epoch: 13000/50000, Loss: 0.0024155296850950\n",
      "Epoch: 13010/50000, Loss: 0.0024168319068849\n",
      "Epoch: 13020/50000, Loss: 0.0024100977461785\n",
      "Epoch: 13030/50000, Loss: 0.0025181195233017\n",
      "Epoch: 13040/50000, Loss: 0.0023839839268476\n",
      "Epoch: 13050/50000, Loss: 0.0023916231002659\n",
      "Epoch: 13060/50000, Loss: 0.0024429541081190\n",
      "Epoch: 13070/50000, Loss: 0.0023609199561179\n",
      "Epoch: 13080/50000, Loss: 0.0024298105854541\n",
      "Epoch: 13090/50000, Loss: 0.0026339897885919\n",
      "Epoch: 13100/50000, Loss: 0.0023919353261590\n",
      "Epoch: 13110/50000, Loss: 0.0023508751764894\n",
      "Epoch: 13120/50000, Loss: 0.0023473405744880\n",
      "Epoch: 13130/50000, Loss: 0.0023373381700367\n",
      "Epoch: 13140/50000, Loss: 0.0023348031099886\n",
      "Epoch: 13150/50000, Loss: 0.0023510854225606\n",
      "Epoch: 13160/50000, Loss: 0.0026195291429758\n",
      "Epoch: 13170/50000, Loss: 0.0024918431881815\n",
      "Epoch: 13180/50000, Loss: 0.0023912217002362\n",
      "Epoch: 13190/50000, Loss: 0.0023414690513164\n",
      "Epoch: 13200/50000, Loss: 0.0023395053576678\n",
      "Epoch: 13210/50000, Loss: 0.0024034322705120\n",
      "Epoch: 13220/50000, Loss: 0.0023882973473519\n",
      "Epoch: 13230/50000, Loss: 0.0024905980098993\n",
      "Epoch: 13240/50000, Loss: 0.0023488914594054\n",
      "Epoch: 13250/50000, Loss: 0.0023252023383975\n",
      "Epoch: 13260/50000, Loss: 0.0023829007986933\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 13270/50000, Loss: 0.0023860705550760\n",
      "Epoch: 13280/50000, Loss: 0.0023333549033850\n",
      "Epoch: 13290/50000, Loss: 0.0023110816255212\n",
      "Epoch: 13300/50000, Loss: 0.0023258510045707\n",
      "Epoch: 13310/50000, Loss: 0.0029285978525877\n",
      "Epoch: 13320/50000, Loss: 0.0025343126617372\n",
      "Epoch: 13330/50000, Loss: 0.0023562284186482\n",
      "Epoch: 13340/50000, Loss: 0.0023028382565826\n",
      "Epoch: 13350/50000, Loss: 0.0022989974822849\n",
      "Epoch: 13360/50000, Loss: 0.0022930342238396\n",
      "Epoch: 13370/50000, Loss: 0.0022880460601300\n",
      "Epoch: 13380/50000, Loss: 0.0022861303295940\n",
      "Epoch: 13390/50000, Loss: 0.0023296845611185\n",
      "Epoch: 13400/50000, Loss: 0.0025016220752150\n",
      "Epoch: 13410/50000, Loss: 0.0023216058034450\n",
      "Epoch: 13420/50000, Loss: 0.0023404122330248\n",
      "Epoch: 13430/50000, Loss: 0.0022824387997389\n",
      "Epoch: 13440/50000, Loss: 0.0022770017385483\n",
      "Epoch: 13450/50000, Loss: 0.0022841587197036\n",
      "Epoch: 13460/50000, Loss: 0.0023705831263214\n",
      "Epoch: 13470/50000, Loss: 0.0024676711764187\n",
      "Epoch: 13480/50000, Loss: 0.0023418315686285\n",
      "Epoch: 13490/50000, Loss: 0.0023003360256553\n",
      "Epoch: 13500/50000, Loss: 0.0022784972097725\n",
      "Epoch: 13510/50000, Loss: 0.0022842432372272\n",
      "Epoch: 13520/50000, Loss: 0.0024049137718976\n",
      "Epoch: 13530/50000, Loss: 0.0023172860965133\n",
      "Epoch: 13540/50000, Loss: 0.0022952980361879\n",
      "Epoch: 13550/50000, Loss: 0.0022763216402382\n",
      "Epoch: 13560/50000, Loss: 0.0022726405877620\n",
      "Epoch: 13570/50000, Loss: 0.0023775002919137\n",
      "Epoch: 13580/50000, Loss: 0.0023135370574892\n",
      "Epoch: 13590/50000, Loss: 0.0023504893761128\n",
      "Epoch: 13600/50000, Loss: 0.0022874276619405\n",
      "Epoch: 13610/50000, Loss: 0.0022599629592150\n",
      "Epoch: 13620/50000, Loss: 0.0022732147481292\n",
      "Epoch: 13630/50000, Loss: 0.0023760355543345\n",
      "Epoch: 13640/50000, Loss: 0.0023857206106186\n",
      "Epoch: 13650/50000, Loss: 0.0023183573503047\n",
      "Epoch: 13660/50000, Loss: 0.0022789486683905\n",
      "Epoch: 13670/50000, Loss: 0.0022379269357771\n",
      "Epoch: 13680/50000, Loss: 0.0022426606155932\n",
      "Epoch: 13690/50000, Loss: 0.0023281672038138\n",
      "Epoch: 13700/50000, Loss: 0.0024969645310193\n",
      "Epoch: 13710/50000, Loss: 0.0023239038418978\n",
      "Epoch: 13720/50000, Loss: 0.0022610244341195\n",
      "Epoch: 13730/50000, Loss: 0.0022426720242947\n",
      "Epoch: 13740/50000, Loss: 0.0022859266027808\n",
      "Epoch: 13750/50000, Loss: 0.0024857311509550\n",
      "Epoch: 13760/50000, Loss: 0.0022898772731423\n",
      "Epoch: 13770/50000, Loss: 0.0022383457981050\n",
      "Epoch: 13780/50000, Loss: 0.0022337669506669\n",
      "Epoch: 13790/50000, Loss: 0.0022296817041934\n",
      "Epoch: 13800/50000, Loss: 0.0023216363042593\n",
      "Epoch: 13810/50000, Loss: 0.0022633890621364\n",
      "Epoch: 13820/50000, Loss: 0.0022544316016138\n",
      "Epoch: 13830/50000, Loss: 0.0022240565158427\n",
      "Epoch: 13840/50000, Loss: 0.0022699723485857\n",
      "Epoch: 13850/50000, Loss: 0.0024753853213042\n",
      "Epoch: 13860/50000, Loss: 0.0023846263065934\n",
      "Epoch: 13870/50000, Loss: 0.0022747104521841\n",
      "Epoch: 13880/50000, Loss: 0.0022213575430214\n",
      "Epoch: 13890/50000, Loss: 0.0022108119446784\n",
      "Epoch: 13900/50000, Loss: 0.0022204732522368\n",
      "Epoch: 13910/50000, Loss: 0.0023492947220802\n",
      "Epoch: 13920/50000, Loss: 0.0022126073017716\n",
      "Epoch: 13930/50000, Loss: 0.0022296421229839\n",
      "Epoch: 13940/50000, Loss: 0.0022113376762718\n",
      "Epoch: 13950/50000, Loss: 0.0022882942575961\n",
      "Epoch: 13960/50000, Loss: 0.0022856483701617\n",
      "Epoch: 13970/50000, Loss: 0.0022235757205635\n",
      "Epoch: 13980/50000, Loss: 0.0023203769233078\n",
      "Epoch: 13990/50000, Loss: 0.0024459345731884\n",
      "Epoch: 14000/50000, Loss: 0.0023132206406444\n",
      "Epoch: 14010/50000, Loss: 0.0021979475859553\n",
      "Epoch: 14020/50000, Loss: 0.0021846429444849\n",
      "Epoch: 14030/50000, Loss: 0.0021824580617249\n",
      "Epoch: 14040/50000, Loss: 0.0021778312511742\n",
      "Epoch: 14050/50000, Loss: 0.0021748698782176\n",
      "Epoch: 14060/50000, Loss: 0.0021763734985143\n",
      "Epoch: 14070/50000, Loss: 0.0022754448000342\n",
      "Epoch: 14080/50000, Loss: 0.0022989853750914\n",
      "Epoch: 14090/50000, Loss: 0.0021955706179142\n",
      "Epoch: 14100/50000, Loss: 0.0021946469787508\n",
      "Epoch: 14110/50000, Loss: 0.0021973159164190\n",
      "Epoch: 14120/50000, Loss: 0.0023064308334142\n",
      "Epoch: 14130/50000, Loss: 0.0021905577741563\n",
      "Epoch: 14140/50000, Loss: 0.0022207051515579\n",
      "Epoch: 14150/50000, Loss: 0.0022297420073301\n",
      "Epoch: 14160/50000, Loss: 0.0022364372853190\n",
      "Epoch: 14170/50000, Loss: 0.0021958926226944\n",
      "Epoch: 14180/50000, Loss: 0.0021649051923305\n",
      "Epoch: 14190/50000, Loss: 0.0021566881332546\n",
      "Epoch: 14200/50000, Loss: 0.0021864171139896\n",
      "Epoch: 14210/50000, Loss: 0.0026355409063399\n",
      "Epoch: 14220/50000, Loss: 0.0023166190367192\n",
      "Epoch: 14230/50000, Loss: 0.0022210052702576\n",
      "Epoch: 14240/50000, Loss: 0.0021774333436042\n",
      "Epoch: 14250/50000, Loss: 0.0021615007426590\n",
      "Epoch: 14260/50000, Loss: 0.0021926846820861\n",
      "Epoch: 14270/50000, Loss: 0.0023222549352795\n",
      "Epoch: 14280/50000, Loss: 0.0022335527464747\n",
      "Epoch: 14290/50000, Loss: 0.0022278449032456\n",
      "Epoch: 14300/50000, Loss: 0.0021636828314513\n",
      "Epoch: 14310/50000, Loss: 0.0021423718426377\n",
      "Epoch: 14320/50000, Loss: 0.0021563882473856\n",
      "Epoch: 14330/50000, Loss: 0.0022872863337398\n",
      "Epoch: 14340/50000, Loss: 0.0022044435609132\n",
      "Epoch: 14350/50000, Loss: 0.0021859097760171\n",
      "Epoch: 14360/50000, Loss: 0.0021596886217594\n",
      "Epoch: 14370/50000, Loss: 0.0021456398535520\n",
      "Epoch: 14380/50000, Loss: 0.0022613857872784\n",
      "Epoch: 14390/50000, Loss: 0.0022455691359937\n",
      "Epoch: 14400/50000, Loss: 0.0021662446670234\n",
      "Epoch: 14410/50000, Loss: 0.0021537472493947\n",
      "Epoch: 14420/50000, Loss: 0.0021323927212507\n",
      "Epoch: 14430/50000, Loss: 0.0021251055877656\n",
      "Epoch: 14440/50000, Loss: 0.0022006020881236\n",
      "Epoch: 14450/50000, Loss: 0.0024154840502888\n",
      "Epoch: 14460/50000, Loss: 0.0023025067057461\n",
      "Epoch: 14470/50000, Loss: 0.0021808161400259\n",
      "Epoch: 14480/50000, Loss: 0.0021288821008056\n",
      "Epoch: 14490/50000, Loss: 0.0021205006632954\n",
      "Epoch: 14500/50000, Loss: 0.0021167362574488\n",
      "Epoch: 14510/50000, Loss: 0.0021260250359774\n",
      "Epoch: 14520/50000, Loss: 0.0022481568157673\n",
      "Epoch: 14530/50000, Loss: 0.0021106083877385\n",
      "Epoch: 14540/50000, Loss: 0.0021276122424752\n",
      "Epoch: 14550/50000, Loss: 0.0021352001931518\n",
      "Epoch: 14560/50000, Loss: 0.0027963446918875\n",
      "Epoch: 14570/50000, Loss: 0.0025834375992417\n",
      "Epoch: 14580/50000, Loss: 0.0021184072829783\n",
      "Epoch: 14590/50000, Loss: 0.0021567831281573\n",
      "Epoch: 14600/50000, Loss: 0.0020998327527195\n",
      "Epoch: 14610/50000, Loss: 0.0021032423246652\n",
      "Epoch: 14620/50000, Loss: 0.0020947747398168\n",
      "Epoch: 14630/50000, Loss: 0.0020931346807629\n",
      "Epoch: 14640/50000, Loss: 0.0020917761139572\n",
      "Epoch: 14650/50000, Loss: 0.0020914685446769\n",
      "Epoch: 14660/50000, Loss: 0.0021514401305467\n",
      "Epoch: 14670/50000, Loss: 0.0023199105635285\n",
      "Epoch: 14680/50000, Loss: 0.0022570509463549\n",
      "Epoch: 14690/50000, Loss: 0.0021602860651910\n",
      "Epoch: 14700/50000, Loss: 0.0021038874983788\n",
      "Epoch: 14710/50000, Loss: 0.0020906366407871\n",
      "Epoch: 14720/50000, Loss: 0.0020831781439483\n",
      "Epoch: 14730/50000, Loss: 0.0020826361142099\n",
      "Epoch: 14740/50000, Loss: 0.0020887863356620\n",
      "Epoch: 14750/50000, Loss: 0.0021948125213385\n",
      "Epoch: 14760/50000, Loss: 0.0021615584846586\n",
      "Epoch: 14770/50000, Loss: 0.0021085145417601\n",
      "Epoch: 14780/50000, Loss: 0.0020932289771736\n",
      "Epoch: 14790/50000, Loss: 0.0020970788318664\n",
      "Epoch: 14800/50000, Loss: 0.0021695774048567\n",
      "Epoch: 14810/50000, Loss: 0.0022243827115744\n",
      "Epoch: 14820/50000, Loss: 0.0021091762464494\n",
      "Epoch: 14830/50000, Loss: 0.0020850112196058\n",
      "Epoch: 14840/50000, Loss: 0.0020782037172467\n",
      "Epoch: 14850/50000, Loss: 0.0020920254755765\n",
      "Epoch: 14860/50000, Loss: 0.0022893592249602\n",
      "Epoch: 14870/50000, Loss: 0.0020743571221828\n",
      "Epoch: 14880/50000, Loss: 0.0020909975282848\n",
      "Epoch: 14890/50000, Loss: 0.0022296935785562\n",
      "Epoch: 14900/50000, Loss: 0.0021485488396138\n",
      "Epoch: 14910/50000, Loss: 0.0021714356262237\n",
      "Epoch: 14920/50000, Loss: 0.0020706134382635\n",
      "Epoch: 14930/50000, Loss: 0.0020774186123163\n",
      "Epoch: 14940/50000, Loss: 0.0020801643840969\n",
      "Epoch: 14950/50000, Loss: 0.0021005067974329\n",
      "Epoch: 14960/50000, Loss: 0.0022362668532878\n",
      "Epoch: 14970/50000, Loss: 0.0021001161076128\n",
      "Epoch: 14980/50000, Loss: 0.0021732116583735\n",
      "Epoch: 14990/50000, Loss: 0.0020679712761194\n",
      "Epoch: 15000/50000, Loss: 0.0020580212585628\n",
      "Epoch: 15010/50000, Loss: 0.0020574789959937\n",
      "Epoch: 15020/50000, Loss: 0.0021153176203370\n",
      "Epoch: 15030/50000, Loss: 0.0021479502320290\n",
      "Epoch: 15040/50000, Loss: 0.0021690623834729\n",
      "Epoch: 15050/50000, Loss: 0.0022885391954333\n",
      "Epoch: 15060/50000, Loss: 0.0020843995735049\n",
      "Epoch: 15070/50000, Loss: 0.0020516337826848\n",
      "Epoch: 15080/50000, Loss: 0.0020420108921826\n",
      "Epoch: 15090/50000, Loss: 0.0020415950566530\n",
      "Epoch: 15100/50000, Loss: 0.0021794736385345\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 15110/50000, Loss: 0.0021356083452702\n",
      "Epoch: 15120/50000, Loss: 0.0020930208265781\n",
      "Epoch: 15130/50000, Loss: 0.0020636545959860\n",
      "Epoch: 15140/50000, Loss: 0.0020434062462300\n",
      "Epoch: 15150/50000, Loss: 0.0020373202860355\n",
      "Epoch: 15160/50000, Loss: 0.0020512361079454\n",
      "Epoch: 15170/50000, Loss: 0.0022425958886743\n",
      "Epoch: 15180/50000, Loss: 0.0020841183140874\n",
      "Epoch: 15190/50000, Loss: 0.0021514913532883\n",
      "Epoch: 15200/50000, Loss: 0.0020407938864082\n",
      "Epoch: 15210/50000, Loss: 0.0020375361200422\n",
      "Epoch: 15220/50000, Loss: 0.0020285688806325\n",
      "Epoch: 15230/50000, Loss: 0.0020503902342170\n",
      "Epoch: 15240/50000, Loss: 0.0023853161837906\n",
      "Epoch: 15250/50000, Loss: 0.0020701037719846\n",
      "Epoch: 15260/50000, Loss: 0.0020312396809459\n",
      "Epoch: 15270/50000, Loss: 0.0020174565725029\n",
      "Epoch: 15280/50000, Loss: 0.0020186614710838\n",
      "Epoch: 15290/50000, Loss: 0.0020220223814249\n",
      "Epoch: 15300/50000, Loss: 0.0021166501101106\n",
      "Epoch: 15310/50000, Loss: 0.0021046251058578\n",
      "Epoch: 15320/50000, Loss: 0.0020727396477014\n",
      "Epoch: 15330/50000, Loss: 0.0021065014880151\n",
      "Epoch: 15340/50000, Loss: 0.0020260808523744\n",
      "Epoch: 15350/50000, Loss: 0.0020193043164909\n",
      "Epoch: 15360/50000, Loss: 0.0020224177278578\n",
      "Epoch: 15370/50000, Loss: 0.0020345614757389\n",
      "Epoch: 15380/50000, Loss: 0.0021614541765302\n",
      "Epoch: 15390/50000, Loss: 0.0023818167392164\n",
      "Epoch: 15400/50000, Loss: 0.0021171469707042\n",
      "Epoch: 15410/50000, Loss: 0.0020503115374595\n",
      "Epoch: 15420/50000, Loss: 0.0020198358688504\n",
      "Epoch: 15430/50000, Loss: 0.0020051964093000\n",
      "Epoch: 15440/50000, Loss: 0.0019993048626930\n",
      "Epoch: 15450/50000, Loss: 0.0020525557920337\n",
      "Epoch: 15460/50000, Loss: 0.0021499765571207\n",
      "Epoch: 15470/50000, Loss: 0.0019996648188680\n",
      "Epoch: 15480/50000, Loss: 0.0020240379963070\n",
      "Epoch: 15490/50000, Loss: 0.0020381258800626\n",
      "Epoch: 15500/50000, Loss: 0.0021944292820990\n",
      "Epoch: 15510/50000, Loss: 0.0020234032999724\n",
      "Epoch: 15520/50000, Loss: 0.0019895175937563\n",
      "Epoch: 15530/50000, Loss: 0.0020237180870026\n",
      "Epoch: 15540/50000, Loss: 0.0023866554256529\n",
      "Epoch: 15550/50000, Loss: 0.0020627297926694\n",
      "Epoch: 15560/50000, Loss: 0.0020086208824068\n",
      "Epoch: 15570/50000, Loss: 0.0019900673069060\n",
      "Epoch: 15580/50000, Loss: 0.0019844574853778\n",
      "Epoch: 15590/50000, Loss: 0.0019833806436509\n",
      "Epoch: 15600/50000, Loss: 0.0019805198535323\n",
      "Epoch: 15610/50000, Loss: 0.0020424393005669\n",
      "Epoch: 15620/50000, Loss: 0.0022598439827561\n",
      "Epoch: 15630/50000, Loss: 0.0019865592475981\n",
      "Epoch: 15640/50000, Loss: 0.0020186533220112\n",
      "Epoch: 15650/50000, Loss: 0.0019876118749380\n",
      "Epoch: 15660/50000, Loss: 0.0019781426526606\n",
      "Epoch: 15670/50000, Loss: 0.0020952615886927\n",
      "Epoch: 15680/50000, Loss: 0.0021647377870977\n",
      "Epoch: 15690/50000, Loss: 0.0020181080326438\n",
      "Epoch: 15700/50000, Loss: 0.0019813210237771\n",
      "Epoch: 15710/50000, Loss: 0.0019740585703403\n",
      "Epoch: 15720/50000, Loss: 0.0019718760158867\n",
      "Epoch: 15730/50000, Loss: 0.0020092711783946\n",
      "Epoch: 15740/50000, Loss: 0.0022858532611281\n",
      "Epoch: 15750/50000, Loss: 0.0020486216526479\n",
      "Epoch: 15760/50000, Loss: 0.0019899194594473\n",
      "Epoch: 15770/50000, Loss: 0.0019675639923662\n",
      "Epoch: 15780/50000, Loss: 0.0019632556941360\n",
      "Epoch: 15790/50000, Loss: 0.0019621441606432\n",
      "Epoch: 15800/50000, Loss: 0.0020031430758536\n",
      "Epoch: 15810/50000, Loss: 0.0022554965689778\n",
      "Epoch: 15820/50000, Loss: 0.0020515094511211\n",
      "Epoch: 15830/50000, Loss: 0.0020273679401726\n",
      "Epoch: 15840/50000, Loss: 0.0021638274192810\n",
      "Epoch: 15850/50000, Loss: 0.0019581110682338\n",
      "Epoch: 15860/50000, Loss: 0.0019810386002064\n",
      "Epoch: 15870/50000, Loss: 0.0019559939391911\n",
      "Epoch: 15880/50000, Loss: 0.0019835683051497\n",
      "Epoch: 15890/50000, Loss: 0.0023145538289100\n",
      "Epoch: 15900/50000, Loss: 0.0020660264417529\n",
      "Epoch: 15910/50000, Loss: 0.0019911124836653\n",
      "Epoch: 15920/50000, Loss: 0.0019712545908988\n",
      "Epoch: 15930/50000, Loss: 0.0021407711319625\n",
      "Epoch: 15940/50000, Loss: 0.0020407238043845\n",
      "Epoch: 15950/50000, Loss: 0.0019619576632977\n",
      "Epoch: 15960/50000, Loss: 0.0019615956116468\n",
      "Epoch: 15970/50000, Loss: 0.0019445449579507\n",
      "Epoch: 15980/50000, Loss: 0.0019396112766117\n",
      "Epoch: 15990/50000, Loss: 0.0019451585831121\n",
      "Epoch: 16000/50000, Loss: 0.0020627810154110\n",
      "Epoch: 16010/50000, Loss: 0.0020978036336601\n",
      "Epoch: 16020/50000, Loss: 0.0019722315482795\n",
      "Epoch: 16030/50000, Loss: 0.0019454077119008\n",
      "Epoch: 16040/50000, Loss: 0.0019422883633524\n",
      "Epoch: 16050/50000, Loss: 0.0019376709824428\n",
      "Epoch: 16060/50000, Loss: 0.0019596214406192\n",
      "Epoch: 16070/50000, Loss: 0.0022107495460659\n",
      "Epoch: 16080/50000, Loss: 0.0022135539911687\n",
      "Epoch: 16090/50000, Loss: 0.0019929502159357\n",
      "Epoch: 16100/50000, Loss: 0.0019580223597586\n",
      "Epoch: 16110/50000, Loss: 0.0019360284786671\n",
      "Epoch: 16120/50000, Loss: 0.0019274386577308\n",
      "Epoch: 16130/50000, Loss: 0.0019261699635535\n",
      "Epoch: 16140/50000, Loss: 0.0019659330137074\n",
      "Epoch: 16150/50000, Loss: 0.0023136467207223\n",
      "Epoch: 16160/50000, Loss: 0.0020163431763649\n",
      "Epoch: 16170/50000, Loss: 0.0019408062798902\n",
      "Epoch: 16180/50000, Loss: 0.0019251961493865\n",
      "Epoch: 16190/50000, Loss: 0.0019217560766265\n",
      "Epoch: 16200/50000, Loss: 0.0019211166072637\n",
      "Epoch: 16210/50000, Loss: 0.0019855501595885\n",
      "Epoch: 16220/50000, Loss: 0.0022251820191741\n",
      "Epoch: 16230/50000, Loss: 0.0020664399489760\n",
      "Epoch: 16240/50000, Loss: 0.0019288797629997\n",
      "Epoch: 16250/50000, Loss: 0.0019193573389202\n",
      "Epoch: 16260/50000, Loss: 0.0019100769422948\n",
      "Epoch: 16270/50000, Loss: 0.0019105443498120\n",
      "Epoch: 16280/50000, Loss: 0.0019245264120400\n",
      "Epoch: 16290/50000, Loss: 0.0022096643224359\n",
      "Epoch: 16300/50000, Loss: 0.0020517744123936\n",
      "Epoch: 16310/50000, Loss: 0.0019658405799419\n",
      "Epoch: 16320/50000, Loss: 0.0019346048356965\n",
      "Epoch: 16330/50000, Loss: 0.0019179917871952\n",
      "Epoch: 16340/50000, Loss: 0.0019129776628688\n",
      "Epoch: 16350/50000, Loss: 0.0019587383139879\n",
      "Epoch: 16360/50000, Loss: 0.0021971061360091\n",
      "Epoch: 16370/50000, Loss: 0.0019494476728141\n",
      "Epoch: 16380/50000, Loss: 0.0019024829380214\n",
      "Epoch: 16390/50000, Loss: 0.0019092271104455\n",
      "Epoch: 16400/50000, Loss: 0.0019170327577740\n",
      "Epoch: 16410/50000, Loss: 0.0020289956592023\n",
      "Epoch: 16420/50000, Loss: 0.0019502083305269\n",
      "Epoch: 16430/50000, Loss: 0.0019370138179511\n",
      "Epoch: 16440/50000, Loss: 0.0019383850740269\n",
      "Epoch: 16450/50000, Loss: 0.0020758220925927\n",
      "Epoch: 16460/50000, Loss: 0.0019314659293741\n",
      "Epoch: 16470/50000, Loss: 0.0019686061423272\n",
      "Epoch: 16480/50000, Loss: 0.0020194991957396\n",
      "Epoch: 16490/50000, Loss: 0.0018956484273076\n",
      "Epoch: 16500/50000, Loss: 0.0019046082161367\n",
      "Epoch: 16510/50000, Loss: 0.0019418864976615\n",
      "Epoch: 16520/50000, Loss: 0.0022850462701172\n",
      "Epoch: 16530/50000, Loss: 0.0019496063468978\n",
      "Epoch: 16540/50000, Loss: 0.0018876674585044\n",
      "Epoch: 16550/50000, Loss: 0.0018961556488648\n",
      "Epoch: 16560/50000, Loss: 0.0019111457513645\n",
      "Epoch: 16570/50000, Loss: 0.0021108058281243\n",
      "Epoch: 16580/50000, Loss: 0.0019816420972347\n",
      "Epoch: 16590/50000, Loss: 0.0018905627075583\n",
      "Epoch: 16600/50000, Loss: 0.0018960614688694\n",
      "Epoch: 16610/50000, Loss: 0.0018857518443838\n",
      "Epoch: 16620/50000, Loss: 0.0018797713564709\n",
      "Epoch: 16630/50000, Loss: 0.0018875362584367\n",
      "Epoch: 16640/50000, Loss: 0.0021192303393036\n",
      "Epoch: 16650/50000, Loss: 0.0019070355920121\n",
      "Epoch: 16660/50000, Loss: 0.0019197062356398\n",
      "Epoch: 16670/50000, Loss: 0.0020003856625408\n",
      "Epoch: 16680/50000, Loss: 0.0019086812390015\n",
      "Epoch: 16690/50000, Loss: 0.0019081183709204\n",
      "Epoch: 16700/50000, Loss: 0.0018741085659713\n",
      "Epoch: 16710/50000, Loss: 0.0019018859602511\n",
      "Epoch: 16720/50000, Loss: 0.0021928185597062\n",
      "Epoch: 16730/50000, Loss: 0.0019032225245610\n",
      "Epoch: 16740/50000, Loss: 0.0018792592454702\n",
      "Epoch: 16750/50000, Loss: 0.0018644556403160\n",
      "Epoch: 16760/50000, Loss: 0.0018666906980798\n",
      "Epoch: 16770/50000, Loss: 0.0018724700203165\n",
      "Epoch: 16780/50000, Loss: 0.0019316709367558\n",
      "Epoch: 16790/50000, Loss: 0.0020484277047217\n",
      "Epoch: 16800/50000, Loss: 0.0019341640872881\n",
      "Epoch: 16810/50000, Loss: 0.0018925231415778\n",
      "Epoch: 16820/50000, Loss: 0.0018982868641615\n",
      "Epoch: 16830/50000, Loss: 0.0025053205899894\n",
      "Epoch: 16840/50000, Loss: 0.0020385049283504\n",
      "Epoch: 16850/50000, Loss: 0.0018869448686019\n",
      "Epoch: 16860/50000, Loss: 0.0018797920783982\n",
      "Epoch: 16870/50000, Loss: 0.0018630106933415\n",
      "Epoch: 16880/50000, Loss: 0.0018537205178291\n",
      "Epoch: 16890/50000, Loss: 0.0018514331895858\n",
      "Epoch: 16900/50000, Loss: 0.0018520650919527\n",
      "Epoch: 16910/50000, Loss: 0.0019206266151741\n",
      "Epoch: 16920/50000, Loss: 0.0020246484782547\n",
      "Epoch: 16930/50000, Loss: 0.0019038771279156\n",
      "Epoch: 16940/50000, Loss: 0.0019052620045841\n",
      "Epoch: 16950/50000, Loss: 0.0018678953638300\n",
      "Epoch: 16960/50000, Loss: 0.0018505053594708\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 16970/50000, Loss: 0.0018485907930881\n",
      "Epoch: 16980/50000, Loss: 0.0019034183351323\n",
      "Epoch: 16990/50000, Loss: 0.0022261189296842\n",
      "Epoch: 17000/50000, Loss: 0.0020100164692849\n",
      "Epoch: 17010/50000, Loss: 0.0018739653751254\n",
      "Epoch: 17020/50000, Loss: 0.0018473088275641\n",
      "Epoch: 17030/50000, Loss: 0.0018550276290625\n",
      "Epoch: 17040/50000, Loss: 0.0018754798220471\n",
      "Epoch: 17050/50000, Loss: 0.0019326689653099\n",
      "Epoch: 17060/50000, Loss: 0.0018656040774658\n",
      "Epoch: 17070/50000, Loss: 0.0021025808528066\n",
      "Epoch: 17080/50000, Loss: 0.0019067681860179\n",
      "Epoch: 17090/50000, Loss: 0.0018757653888315\n",
      "Epoch: 17100/50000, Loss: 0.0018495877739042\n",
      "Epoch: 17110/50000, Loss: 0.0018412939971313\n",
      "Epoch: 17120/50000, Loss: 0.0018816378433257\n",
      "Epoch: 17130/50000, Loss: 0.0020861218217760\n",
      "Epoch: 17140/50000, Loss: 0.0018760500242934\n",
      "Epoch: 17150/50000, Loss: 0.0018324686679989\n",
      "Epoch: 17160/50000, Loss: 0.0018407341558486\n",
      "Epoch: 17170/50000, Loss: 0.0018593996064737\n",
      "Epoch: 17180/50000, Loss: 0.0020831772126257\n",
      "Epoch: 17190/50000, Loss: 0.0019724061712623\n",
      "Epoch: 17200/50000, Loss: 0.0018722098320723\n",
      "Epoch: 17210/50000, Loss: 0.0018505960470065\n",
      "Epoch: 17220/50000, Loss: 0.0018340705428272\n",
      "Epoch: 17230/50000, Loss: 0.0018256824696437\n",
      "Epoch: 17240/50000, Loss: 0.0018320527160540\n",
      "Epoch: 17250/50000, Loss: 0.0019124725367874\n",
      "Epoch: 17260/50000, Loss: 0.0019814167171717\n",
      "Epoch: 17270/50000, Loss: 0.0018889459315687\n",
      "Epoch: 17280/50000, Loss: 0.0018985236529261\n",
      "Epoch: 17290/50000, Loss: 0.0018802130362019\n",
      "Epoch: 17300/50000, Loss: 0.0020090900361538\n",
      "Epoch: 17310/50000, Loss: 0.0018680560169742\n",
      "Epoch: 17320/50000, Loss: 0.0018485245527700\n",
      "Epoch: 17330/50000, Loss: 0.0018348228186369\n",
      "Epoch: 17340/50000, Loss: 0.0018197736935690\n",
      "Epoch: 17350/50000, Loss: 0.0018214628798887\n",
      "Epoch: 17360/50000, Loss: 0.0018888859776780\n",
      "Epoch: 17370/50000, Loss: 0.0020767569076270\n",
      "Epoch: 17380/50000, Loss: 0.0019234304782003\n",
      "Epoch: 17390/50000, Loss: 0.0018756065983325\n",
      "Epoch: 17400/50000, Loss: 0.0018234448507428\n",
      "Epoch: 17410/50000, Loss: 0.0018155212746933\n",
      "Epoch: 17420/50000, Loss: 0.0018415105296299\n",
      "Epoch: 17430/50000, Loss: 0.0021452833898365\n",
      "Epoch: 17440/50000, Loss: 0.0018859924748540\n",
      "Epoch: 17450/50000, Loss: 0.0018597282469273\n",
      "Epoch: 17460/50000, Loss: 0.0019401303725317\n",
      "Epoch: 17470/50000, Loss: 0.0018511107191443\n",
      "Epoch: 17480/50000, Loss: 0.0018402588320896\n",
      "Epoch: 17490/50000, Loss: 0.0018098081927747\n",
      "Epoch: 17500/50000, Loss: 0.0018037183908746\n",
      "Epoch: 17510/50000, Loss: 0.0018343201372772\n",
      "Epoch: 17520/50000, Loss: 0.0021070144139230\n",
      "Epoch: 17530/50000, Loss: 0.0019171244930476\n",
      "Epoch: 17540/50000, Loss: 0.0018888498889282\n",
      "Epoch: 17550/50000, Loss: 0.0018717342754826\n",
      "Epoch: 17560/50000, Loss: 0.0018333487678319\n",
      "Epoch: 17570/50000, Loss: 0.0018396632513031\n",
      "Epoch: 17580/50000, Loss: 0.0019177995854989\n",
      "Epoch: 17590/50000, Loss: 0.0018325884593651\n",
      "Epoch: 17600/50000, Loss: 0.0018325380515307\n",
      "Epoch: 17610/50000, Loss: 0.0020226566120982\n",
      "Epoch: 17620/50000, Loss: 0.0018324558623135\n",
      "Epoch: 17630/50000, Loss: 0.0017973294015974\n",
      "Epoch: 17640/50000, Loss: 0.0017949255416170\n",
      "Epoch: 17650/50000, Loss: 0.0018002169672400\n",
      "Epoch: 17660/50000, Loss: 0.0018226602114737\n",
      "Epoch: 17670/50000, Loss: 0.0019818090368062\n",
      "Epoch: 17680/50000, Loss: 0.0018515432020649\n",
      "Epoch: 17690/50000, Loss: 0.0021846781019121\n",
      "Epoch: 17700/50000, Loss: 0.0018976181745529\n",
      "Epoch: 17710/50000, Loss: 0.0018176645971835\n",
      "Epoch: 17720/50000, Loss: 0.0017960028490052\n",
      "Epoch: 17730/50000, Loss: 0.0017855720361695\n",
      "Epoch: 17740/50000, Loss: 0.0017839755164459\n",
      "Epoch: 17750/50000, Loss: 0.0017847530543804\n",
      "Epoch: 17760/50000, Loss: 0.0018197707831860\n",
      "Epoch: 17770/50000, Loss: 0.0022404622286558\n",
      "Epoch: 17780/50000, Loss: 0.0019322412554175\n",
      "Epoch: 17790/50000, Loss: 0.0018327407306060\n",
      "Epoch: 17800/50000, Loss: 0.0018082378664985\n",
      "Epoch: 17810/50000, Loss: 0.0019152621971443\n",
      "Epoch: 17820/50000, Loss: 0.0017937560332939\n",
      "Epoch: 17830/50000, Loss: 0.0018223214428872\n",
      "Epoch: 17840/50000, Loss: 0.0019482066854835\n",
      "Epoch: 17850/50000, Loss: 0.0018162165069953\n",
      "Epoch: 17860/50000, Loss: 0.0018121855100617\n",
      "Epoch: 17870/50000, Loss: 0.0017872600583360\n",
      "Epoch: 17880/50000, Loss: 0.0017820218345150\n",
      "Epoch: 17890/50000, Loss: 0.0018531208625063\n",
      "Epoch: 17900/50000, Loss: 0.0019149899017066\n",
      "Epoch: 17910/50000, Loss: 0.0018720416119322\n",
      "Epoch: 17920/50000, Loss: 0.0018034883541986\n",
      "Epoch: 17930/50000, Loss: 0.0017865841509774\n",
      "Epoch: 17940/50000, Loss: 0.0018195046577603\n",
      "Epoch: 17950/50000, Loss: 0.0019809289369732\n",
      "Epoch: 17960/50000, Loss: 0.0018162886844948\n",
      "Epoch: 17970/50000, Loss: 0.0017967767780647\n",
      "Epoch: 17980/50000, Loss: 0.0019835899583995\n",
      "Epoch: 17990/50000, Loss: 0.0018683234229684\n",
      "Epoch: 18000/50000, Loss: 0.0018242128426209\n",
      "Epoch: 18010/50000, Loss: 0.0017942804843187\n",
      "Epoch: 18020/50000, Loss: 0.0017760491464287\n",
      "Epoch: 18030/50000, Loss: 0.0017665304476395\n",
      "Epoch: 18040/50000, Loss: 0.0017636914271861\n",
      "Epoch: 18050/50000, Loss: 0.0017894075717777\n",
      "Epoch: 18060/50000, Loss: 0.0021457073744386\n",
      "Epoch: 18070/50000, Loss: 0.0018170636612922\n",
      "Epoch: 18080/50000, Loss: 0.0017753911670297\n",
      "Epoch: 18090/50000, Loss: 0.0017625115578994\n",
      "Epoch: 18100/50000, Loss: 0.0017678502481431\n",
      "Epoch: 18110/50000, Loss: 0.0019424122292548\n",
      "Epoch: 18120/50000, Loss: 0.0018488900968805\n",
      "Epoch: 18130/50000, Loss: 0.0017769495025277\n",
      "Epoch: 18140/50000, Loss: 0.0017654463881627\n",
      "Epoch: 18150/50000, Loss: 0.0017644689651206\n",
      "Epoch: 18160/50000, Loss: 0.0017633495153859\n",
      "Epoch: 18170/50000, Loss: 0.0018508157227188\n",
      "Epoch: 18180/50000, Loss: 0.0018398652318865\n",
      "Epoch: 18190/50000, Loss: 0.0018244301900268\n",
      "Epoch: 18200/50000, Loss: 0.0018151809927076\n",
      "Epoch: 18210/50000, Loss: 0.0018537836149335\n",
      "Epoch: 18220/50000, Loss: 0.0018116513965651\n",
      "Epoch: 18230/50000, Loss: 0.0018214198062196\n",
      "Epoch: 18240/50000, Loss: 0.0017652382375672\n",
      "Epoch: 18250/50000, Loss: 0.0017528366297483\n",
      "Epoch: 18260/50000, Loss: 0.0017905997810885\n",
      "Epoch: 18270/50000, Loss: 0.0021262206137180\n",
      "Epoch: 18280/50000, Loss: 0.0018564061028883\n",
      "Epoch: 18290/50000, Loss: 0.0018041351577267\n",
      "Epoch: 18300/50000, Loss: 0.0017686209175736\n",
      "Epoch: 18310/50000, Loss: 0.0017850835574791\n",
      "Epoch: 18320/50000, Loss: 0.0018370688194409\n",
      "Epoch: 18330/50000, Loss: 0.0017651985399425\n",
      "Epoch: 18340/50000, Loss: 0.0017577448161319\n",
      "Epoch: 18350/50000, Loss: 0.0018217505421489\n",
      "Epoch: 18360/50000, Loss: 0.0019363282481208\n",
      "Epoch: 18370/50000, Loss: 0.0017584773013368\n",
      "Epoch: 18380/50000, Loss: 0.0017517100786790\n",
      "Epoch: 18390/50000, Loss: 0.0017548607429489\n",
      "Epoch: 18400/50000, Loss: 0.0017732502892613\n",
      "Epoch: 18410/50000, Loss: 0.0020168642513454\n",
      "Epoch: 18420/50000, Loss: 0.0017985738813877\n",
      "Epoch: 18430/50000, Loss: 0.0017618247075006\n",
      "Epoch: 18440/50000, Loss: 0.0018125154310837\n",
      "Epoch: 18450/50000, Loss: 0.0018710783915594\n",
      "Epoch: 18460/50000, Loss: 0.0017501357942820\n",
      "Epoch: 18470/50000, Loss: 0.0017549850745127\n",
      "Epoch: 18480/50000, Loss: 0.0017455198103562\n",
      "Epoch: 18490/50000, Loss: 0.0019157907227054\n",
      "Epoch: 18500/50000, Loss: 0.0017361221835017\n",
      "Epoch: 18510/50000, Loss: 0.0017494357889518\n",
      "Epoch: 18520/50000, Loss: 0.0017675631679595\n",
      "Epoch: 18530/50000, Loss: 0.0017656212439761\n",
      "Epoch: 18540/50000, Loss: 0.0017527425661683\n",
      "Epoch: 18550/50000, Loss: 0.0020331426057965\n",
      "Epoch: 18560/50000, Loss: 0.0018142143962905\n",
      "Epoch: 18570/50000, Loss: 0.0017724918434396\n",
      "Epoch: 18580/50000, Loss: 0.0017497069202363\n",
      "Epoch: 18590/50000, Loss: 0.0017379354685545\n",
      "Epoch: 18600/50000, Loss: 0.0017629839712754\n",
      "Epoch: 18610/50000, Loss: 0.0020990942139179\n",
      "Epoch: 18620/50000, Loss: 0.0018201139755547\n",
      "Epoch: 18630/50000, Loss: 0.0017613399541005\n",
      "Epoch: 18640/50000, Loss: 0.0017376069445163\n",
      "Epoch: 18650/50000, Loss: 0.0017742406344041\n",
      "Epoch: 18660/50000, Loss: 0.0019230957841501\n",
      "Epoch: 18670/50000, Loss: 0.0017802070360631\n",
      "Epoch: 18680/50000, Loss: 0.0017397203482687\n",
      "Epoch: 18690/50000, Loss: 0.0017292294651270\n",
      "Epoch: 18700/50000, Loss: 0.0017359472112730\n",
      "Epoch: 18710/50000, Loss: 0.0020327898673713\n",
      "Epoch: 18720/50000, Loss: 0.0017682495526969\n",
      "Epoch: 18730/50000, Loss: 0.0017434898763895\n",
      "Epoch: 18740/50000, Loss: 0.0017327956156805\n",
      "Epoch: 18750/50000, Loss: 0.0017192689701915\n",
      "Epoch: 18760/50000, Loss: 0.0017185476608574\n",
      "Epoch: 18770/50000, Loss: 0.0019258295651525\n",
      "Epoch: 18780/50000, Loss: 0.0017768810503185\n",
      "Epoch: 18790/50000, Loss: 0.0017844809917733\n",
      "Epoch: 18800/50000, Loss: 0.0017512325430289\n",
      "Epoch: 18810/50000, Loss: 0.0017893459880725\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 18820/50000, Loss: 0.0018640554044396\n",
      "Epoch: 18830/50000, Loss: 0.0017449120059609\n",
      "Epoch: 18840/50000, Loss: 0.0017184041207656\n",
      "Epoch: 18850/50000, Loss: 0.0017263060435653\n",
      "Epoch: 18860/50000, Loss: 0.0018833496142179\n",
      "Epoch: 18870/50000, Loss: 0.0017318415921181\n",
      "Epoch: 18880/50000, Loss: 0.0017202930757776\n",
      "Epoch: 18890/50000, Loss: 0.0017383706290275\n",
      "Epoch: 18900/50000, Loss: 0.0019568025600165\n",
      "Epoch: 18910/50000, Loss: 0.0017458569491282\n",
      "Epoch: 18920/50000, Loss: 0.0017294648569077\n",
      "Epoch: 18930/50000, Loss: 0.0017162652220577\n",
      "Epoch: 18940/50000, Loss: 0.0017116317758337\n",
      "Epoch: 18950/50000, Loss: 0.0017259853193536\n",
      "Epoch: 18960/50000, Loss: 0.0018688781419769\n",
      "Epoch: 18970/50000, Loss: 0.0017465313430876\n",
      "Epoch: 18980/50000, Loss: 0.0017479819944128\n",
      "Epoch: 18990/50000, Loss: 0.0017460318049416\n",
      "Epoch: 19000/50000, Loss: 0.0018444345332682\n",
      "Epoch: 19010/50000, Loss: 0.0018590338295326\n",
      "Epoch: 19020/50000, Loss: 0.0017429954605177\n",
      "Epoch: 19030/50000, Loss: 0.0017096867086366\n",
      "Epoch: 19040/50000, Loss: 0.0017069343011826\n",
      "Epoch: 19050/50000, Loss: 0.0017249683151022\n",
      "Epoch: 19060/50000, Loss: 0.0019232104532421\n",
      "Epoch: 19070/50000, Loss: 0.0017433606553823\n",
      "Epoch: 19080/50000, Loss: 0.0017249848460779\n",
      "Epoch: 19090/50000, Loss: 0.0017126087332144\n",
      "Epoch: 19100/50000, Loss: 0.0017088046297431\n",
      "Epoch: 19110/50000, Loss: 0.0017100922996178\n",
      "Epoch: 19120/50000, Loss: 0.0019714492373168\n",
      "Epoch: 19130/50000, Loss: 0.0018075101543218\n",
      "Epoch: 19140/50000, Loss: 0.0017558532999828\n",
      "Epoch: 19150/50000, Loss: 0.0017166606849059\n",
      "Epoch: 19160/50000, Loss: 0.0016991982702166\n",
      "Epoch: 19170/50000, Loss: 0.0017026193672791\n",
      "Epoch: 19180/50000, Loss: 0.0018523628823459\n",
      "Epoch: 19190/50000, Loss: 0.0017199822468683\n",
      "Epoch: 19200/50000, Loss: 0.0017230340745300\n",
      "Epoch: 19210/50000, Loss: 0.0017095707589760\n",
      "Epoch: 19220/50000, Loss: 0.0017431391170248\n",
      "Epoch: 19230/50000, Loss: 0.0017934183124453\n",
      "Epoch: 19240/50000, Loss: 0.0017437462229282\n",
      "Epoch: 19250/50000, Loss: 0.0017483532428741\n",
      "Epoch: 19260/50000, Loss: 0.0017010470619425\n",
      "Epoch: 19270/50000, Loss: 0.0017005483387038\n",
      "Epoch: 19280/50000, Loss: 0.0017414860194549\n",
      "Epoch: 19290/50000, Loss: 0.0020645374897867\n",
      "Epoch: 19300/50000, Loss: 0.0017906724242494\n",
      "Epoch: 19310/50000, Loss: 0.0017079543322325\n",
      "Epoch: 19320/50000, Loss: 0.0016874548746273\n",
      "Epoch: 19330/50000, Loss: 0.0016869957325980\n",
      "Epoch: 19340/50000, Loss: 0.0017980789998546\n",
      "Epoch: 19350/50000, Loss: 0.0018071450758725\n",
      "Epoch: 19360/50000, Loss: 0.0017321252962574\n",
      "Epoch: 19370/50000, Loss: 0.0017112580826506\n",
      "Epoch: 19380/50000, Loss: 0.0017976845847443\n",
      "Epoch: 19390/50000, Loss: 0.0017346985405311\n",
      "Epoch: 19400/50000, Loss: 0.0017202257877216\n",
      "Epoch: 19410/50000, Loss: 0.0016803458565846\n",
      "Epoch: 19420/50000, Loss: 0.0017009984003380\n",
      "Epoch: 19430/50000, Loss: 0.0018534428672865\n",
      "Epoch: 19440/50000, Loss: 0.0017419460928068\n",
      "Epoch: 19450/50000, Loss: 0.0017947127344087\n",
      "Epoch: 19460/50000, Loss: 0.0018781987018883\n",
      "Epoch: 19470/50000, Loss: 0.0017438059439883\n",
      "Epoch: 19480/50000, Loss: 0.0016882494091988\n",
      "Epoch: 19490/50000, Loss: 0.0016743355663493\n",
      "Epoch: 19500/50000, Loss: 0.0016739554703236\n",
      "Epoch: 19510/50000, Loss: 0.0016862360062078\n",
      "Epoch: 19520/50000, Loss: 0.0019207572331652\n",
      "Epoch: 19530/50000, Loss: 0.0017227644566447\n",
      "Epoch: 19540/50000, Loss: 0.0018993954872712\n",
      "Epoch: 19550/50000, Loss: 0.0017623066669330\n",
      "Epoch: 19560/50000, Loss: 0.0017283982597291\n",
      "Epoch: 19570/50000, Loss: 0.0016958570340648\n",
      "Epoch: 19580/50000, Loss: 0.0016756411641836\n",
      "Epoch: 19590/50000, Loss: 0.0016728672198951\n",
      "Epoch: 19600/50000, Loss: 0.0017324537038803\n",
      "Epoch: 19610/50000, Loss: 0.0019322962034494\n",
      "Epoch: 19620/50000, Loss: 0.0017460066592321\n",
      "Epoch: 19630/50000, Loss: 0.0016905651427805\n",
      "Epoch: 19640/50000, Loss: 0.0016701141139492\n",
      "Epoch: 19650/50000, Loss: 0.0016711698845029\n",
      "Epoch: 19660/50000, Loss: 0.0017286529764533\n",
      "Epoch: 19670/50000, Loss: 0.0018467382760718\n",
      "Epoch: 19680/50000, Loss: 0.0017382131190971\n",
      "Epoch: 19690/50000, Loss: 0.0017253920668736\n",
      "Epoch: 19700/50000, Loss: 0.0018847119063139\n",
      "Epoch: 19710/50000, Loss: 0.0016687411116436\n",
      "Epoch: 19720/50000, Loss: 0.0016807051142678\n",
      "Epoch: 19730/50000, Loss: 0.0016675754450262\n",
      "Epoch: 19740/50000, Loss: 0.0016931778518483\n",
      "Epoch: 19750/50000, Loss: 0.0019921432249248\n",
      "Epoch: 19760/50000, Loss: 0.0017309405375272\n",
      "Epoch: 19770/50000, Loss: 0.0016861526528373\n",
      "Epoch: 19780/50000, Loss: 0.0016655118670315\n",
      "Epoch: 19790/50000, Loss: 0.0016920809866861\n",
      "Epoch: 19800/50000, Loss: 0.0020776567980647\n",
      "Epoch: 19810/50000, Loss: 0.0018044335301965\n",
      "Epoch: 19820/50000, Loss: 0.0017088677268475\n",
      "Epoch: 19830/50000, Loss: 0.0016726908506826\n",
      "Epoch: 19840/50000, Loss: 0.0016631833277643\n",
      "Epoch: 19850/50000, Loss: 0.0016746754990891\n",
      "Epoch: 19860/50000, Loss: 0.0018414480146021\n",
      "Epoch: 19870/50000, Loss: 0.0017708757659420\n",
      "Epoch: 19880/50000, Loss: 0.0016559385694563\n",
      "Epoch: 19890/50000, Loss: 0.0016716377576813\n",
      "Epoch: 19900/50000, Loss: 0.0016602496616542\n",
      "Epoch: 19910/50000, Loss: 0.0016531776636839\n",
      "Epoch: 19920/50000, Loss: 0.0016691634664312\n",
      "Epoch: 19930/50000, Loss: 0.0018813160713762\n",
      "Epoch: 19940/50000, Loss: 0.0016858655726537\n",
      "Epoch: 19950/50000, Loss: 0.0017263318877667\n",
      "Epoch: 19960/50000, Loss: 0.0017773787258193\n",
      "Epoch: 19970/50000, Loss: 0.0016522554215044\n",
      "Epoch: 19980/50000, Loss: 0.0016596124041826\n",
      "Epoch: 19990/50000, Loss: 0.0016620876267552\n",
      "Epoch: 20000/50000, Loss: 0.0017190122744069\n",
      "Epoch: 20010/50000, Loss: 0.0018283381359652\n",
      "Epoch: 20020/50000, Loss: 0.0017242006724700\n",
      "Epoch: 20030/50000, Loss: 0.0016614068299532\n",
      "Epoch: 20040/50000, Loss: 0.0016994428588077\n",
      "Epoch: 20050/50000, Loss: 0.0019319651182741\n",
      "Epoch: 20060/50000, Loss: 0.0017415736801922\n",
      "Epoch: 20070/50000, Loss: 0.0016695872182027\n",
      "Epoch: 20080/50000, Loss: 0.0016454918077216\n",
      "Epoch: 20090/50000, Loss: 0.0016558702336624\n",
      "Epoch: 20100/50000, Loss: 0.0017180958529934\n",
      "Epoch: 20110/50000, Loss: 0.0017577827675268\n",
      "Epoch: 20120/50000, Loss: 0.0020292603876442\n",
      "Epoch: 20130/50000, Loss: 0.0017675296403468\n",
      "Epoch: 20140/50000, Loss: 0.0016789386281744\n",
      "Epoch: 20150/50000, Loss: 0.0016519627533853\n",
      "Epoch: 20160/50000, Loss: 0.0016461864579469\n",
      "Epoch: 20170/50000, Loss: 0.0017438748618588\n",
      "Epoch: 20180/50000, Loss: 0.0017081182450056\n",
      "Epoch: 20190/50000, Loss: 0.0016601550159976\n",
      "Epoch: 20200/50000, Loss: 0.0016647754237056\n",
      "Epoch: 20210/50000, Loss: 0.0018110738601536\n",
      "Epoch: 20220/50000, Loss: 0.0016770449001342\n",
      "Epoch: 20230/50000, Loss: 0.0016924232477322\n",
      "Epoch: 20240/50000, Loss: 0.0016387071227655\n",
      "Epoch: 20250/50000, Loss: 0.0016564900288358\n",
      "Epoch: 20260/50000, Loss: 0.0018418845720589\n",
      "Epoch: 20270/50000, Loss: 0.0016835698625073\n",
      "Epoch: 20280/50000, Loss: 0.0016516158357263\n",
      "Epoch: 20290/50000, Loss: 0.0017176171531901\n",
      "Epoch: 20300/50000, Loss: 0.0017227667849511\n",
      "Epoch: 20310/50000, Loss: 0.0016369094373658\n",
      "Epoch: 20320/50000, Loss: 0.0016485739033669\n",
      "Epoch: 20330/50000, Loss: 0.0016358069842681\n",
      "Epoch: 20340/50000, Loss: 0.0017010372830555\n",
      "Epoch: 20350/50000, Loss: 0.0017964146099985\n",
      "Epoch: 20360/50000, Loss: 0.0018580205505714\n",
      "Epoch: 20370/50000, Loss: 0.0017297210870311\n",
      "Epoch: 20380/50000, Loss: 0.0016865493962541\n",
      "Epoch: 20390/50000, Loss: 0.0016702600987628\n",
      "Epoch: 20400/50000, Loss: 0.0016502797370777\n",
      "Epoch: 20410/50000, Loss: 0.0016367828939110\n",
      "Epoch: 20420/50000, Loss: 0.0016579683870077\n",
      "Epoch: 20430/50000, Loss: 0.0018154492136091\n",
      "Epoch: 20440/50000, Loss: 0.0016935303574428\n",
      "Epoch: 20450/50000, Loss: 0.0017282540211454\n",
      "Epoch: 20460/50000, Loss: 0.0016426478978246\n",
      "Epoch: 20470/50000, Loss: 0.0016385552007705\n",
      "Epoch: 20480/50000, Loss: 0.0016618875088170\n",
      "Epoch: 20490/50000, Loss: 0.0018630450358614\n",
      "Epoch: 20500/50000, Loss: 0.0016995890764520\n",
      "Epoch: 20510/50000, Loss: 0.0016325908945873\n",
      "Epoch: 20520/50000, Loss: 0.0016535026952624\n",
      "Epoch: 20530/50000, Loss: 0.0019140612566844\n",
      "Epoch: 20540/50000, Loss: 0.0016952317673713\n",
      "Epoch: 20550/50000, Loss: 0.0016310751670972\n",
      "Epoch: 20560/50000, Loss: 0.0016188954468817\n",
      "Epoch: 20570/50000, Loss: 0.0016292763175443\n",
      "Epoch: 20580/50000, Loss: 0.0017748803365976\n",
      "Epoch: 20590/50000, Loss: 0.0016826892970130\n",
      "Epoch: 20600/50000, Loss: 0.0017959382385015\n",
      "Epoch: 20610/50000, Loss: 0.0016531668370590\n",
      "Epoch: 20620/50000, Loss: 0.0016380583401769\n",
      "Epoch: 20630/50000, Loss: 0.0016187021974474\n",
      "Epoch: 20640/50000, Loss: 0.0016187519067898\n",
      "Epoch: 20650/50000, Loss: 0.0016955080209300\n",
      "Epoch: 20660/50000, Loss: 0.0017427983693779\n",
      "Epoch: 20670/50000, Loss: 0.0016805568011478\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 20680/50000, Loss: 0.0017077823868021\n",
      "Epoch: 20690/50000, Loss: 0.0017681396566331\n",
      "Epoch: 20700/50000, Loss: 0.0016393797704950\n",
      "Epoch: 20710/50000, Loss: 0.0016402689507231\n",
      "Epoch: 20720/50000, Loss: 0.0019325506873429\n",
      "Epoch: 20730/50000, Loss: 0.0017312514828518\n",
      "Epoch: 20740/50000, Loss: 0.0016707016620785\n",
      "Epoch: 20750/50000, Loss: 0.0016214163042605\n",
      "Epoch: 20760/50000, Loss: 0.0016095148166642\n",
      "Epoch: 20770/50000, Loss: 0.0016062541399151\n",
      "Epoch: 20780/50000, Loss: 0.0016160600353032\n",
      "Epoch: 20790/50000, Loss: 0.0018564540660009\n",
      "Epoch: 20800/50000, Loss: 0.0016564765246585\n",
      "Epoch: 20810/50000, Loss: 0.0016251216875389\n",
      "Epoch: 20820/50000, Loss: 0.0016194122144952\n",
      "Epoch: 20830/50000, Loss: 0.0016130974981934\n",
      "Epoch: 20840/50000, Loss: 0.0016239729011431\n",
      "Epoch: 20850/50000, Loss: 0.0018428741022944\n",
      "Epoch: 20860/50000, Loss: 0.0016076720785350\n",
      "Epoch: 20870/50000, Loss: 0.0016207391163334\n",
      "Epoch: 20880/50000, Loss: 0.0016236529918388\n",
      "Epoch: 20890/50000, Loss: 0.0016471665585414\n",
      "Epoch: 20900/50000, Loss: 0.0017477429937571\n",
      "Epoch: 20910/50000, Loss: 0.0016168316360563\n",
      "Epoch: 20920/50000, Loss: 0.0016244531143457\n",
      "Epoch: 20930/50000, Loss: 0.0016655661165714\n",
      "Epoch: 20940/50000, Loss: 0.0017625583568588\n",
      "Epoch: 20950/50000, Loss: 0.0016821599565446\n",
      "Epoch: 20960/50000, Loss: 0.0016671166522428\n",
      "Epoch: 20970/50000, Loss: 0.0016736256657168\n",
      "Epoch: 20980/50000, Loss: 0.0016306944889948\n",
      "Epoch: 20990/50000, Loss: 0.0016013444401324\n",
      "Epoch: 21000/50000, Loss: 0.0016426679212600\n",
      "Epoch: 21010/50000, Loss: 0.0021372048649937\n",
      "Epoch: 21020/50000, Loss: 0.0017897310899571\n",
      "Epoch: 21030/50000, Loss: 0.0016492544673383\n",
      "Epoch: 21040/50000, Loss: 0.0016066411044449\n",
      "Epoch: 21050/50000, Loss: 0.0015968995867297\n",
      "Epoch: 21060/50000, Loss: 0.0016137321945280\n",
      "Epoch: 21070/50000, Loss: 0.0020621591247618\n",
      "Epoch: 21080/50000, Loss: 0.0017223868053406\n",
      "Epoch: 21090/50000, Loss: 0.0016377113061026\n",
      "Epoch: 21100/50000, Loss: 0.0015992468688637\n",
      "Epoch: 21110/50000, Loss: 0.0015892056981102\n",
      "Epoch: 21120/50000, Loss: 0.0016091880388558\n",
      "Epoch: 21130/50000, Loss: 0.0021098309662193\n",
      "Epoch: 21140/50000, Loss: 0.0017741314368322\n",
      "Epoch: 21150/50000, Loss: 0.0016546978149563\n",
      "Epoch: 21160/50000, Loss: 0.0015981905162334\n",
      "Epoch: 21170/50000, Loss: 0.0015885691391304\n",
      "Epoch: 21180/50000, Loss: 0.0015854109078646\n",
      "Epoch: 21190/50000, Loss: 0.0015838521067053\n",
      "Epoch: 21200/50000, Loss: 0.0015863117296249\n",
      "Epoch: 21210/50000, Loss: 0.0018102225149050\n",
      "Epoch: 21220/50000, Loss: 0.0017821759684011\n",
      "Epoch: 21230/50000, Loss: 0.0017342508072034\n",
      "Epoch: 21240/50000, Loss: 0.0015906710177660\n",
      "Epoch: 21250/50000, Loss: 0.0016035628505051\n",
      "Epoch: 21260/50000, Loss: 0.0015825019218028\n",
      "Epoch: 21270/50000, Loss: 0.0015849111368880\n",
      "Epoch: 21280/50000, Loss: 0.0016292737564072\n",
      "Epoch: 21290/50000, Loss: 0.0018537249416113\n",
      "Epoch: 21300/50000, Loss: 0.0016936935717240\n",
      "Epoch: 21310/50000, Loss: 0.0017456698697060\n",
      "Epoch: 21320/50000, Loss: 0.0016277116956189\n",
      "Epoch: 21330/50000, Loss: 0.0016177302459255\n",
      "Epoch: 21340/50000, Loss: 0.0015890063950792\n",
      "Epoch: 21350/50000, Loss: 0.0015860033454373\n",
      "Epoch: 21360/50000, Loss: 0.0016044566873461\n",
      "Epoch: 21370/50000, Loss: 0.0018232864094898\n",
      "Epoch: 21380/50000, Loss: 0.0015851130010560\n",
      "Epoch: 21390/50000, Loss: 0.0015885607572272\n",
      "Epoch: 21400/50000, Loss: 0.0015878537669778\n",
      "Epoch: 21410/50000, Loss: 0.0015973567496985\n",
      "Epoch: 21420/50000, Loss: 0.0018057650886476\n",
      "Epoch: 21430/50000, Loss: 0.0016442681662738\n",
      "Epoch: 21440/50000, Loss: 0.0016532604349777\n",
      "Epoch: 21450/50000, Loss: 0.0015925307525322\n",
      "Epoch: 21460/50000, Loss: 0.0015832950593904\n",
      "Epoch: 21470/50000, Loss: 0.0015860082348809\n",
      "Epoch: 21480/50000, Loss: 0.0016739087877795\n",
      "Epoch: 21490/50000, Loss: 0.0017259351443499\n",
      "Epoch: 21500/50000, Loss: 0.0016510897548869\n",
      "Epoch: 21510/50000, Loss: 0.0016025090590119\n",
      "Epoch: 21520/50000, Loss: 0.0015771551989019\n",
      "Epoch: 21530/50000, Loss: 0.0015721439849585\n",
      "Epoch: 21540/50000, Loss: 0.0016914196312428\n",
      "Epoch: 21550/50000, Loss: 0.0018659527413547\n",
      "Epoch: 21560/50000, Loss: 0.0016241971170530\n",
      "Epoch: 21570/50000, Loss: 0.0016139873769134\n",
      "Epoch: 21580/50000, Loss: 0.0015868081245571\n",
      "Epoch: 21590/50000, Loss: 0.0015730307204649\n",
      "Epoch: 21600/50000, Loss: 0.0015731265302747\n",
      "Epoch: 21610/50000, Loss: 0.0016362994210795\n",
      "Epoch: 21620/50000, Loss: 0.0018559874733910\n",
      "Epoch: 21630/50000, Loss: 0.0016807942884043\n",
      "Epoch: 21640/50000, Loss: 0.0016051427228376\n",
      "Epoch: 21650/50000, Loss: 0.0015815235674381\n",
      "Epoch: 21660/50000, Loss: 0.0016947099938989\n",
      "Epoch: 21670/50000, Loss: 0.0016511990688741\n",
      "Epoch: 21680/50000, Loss: 0.0017136976821348\n",
      "Epoch: 21690/50000, Loss: 0.0015795832732692\n",
      "Epoch: 21700/50000, Loss: 0.0015801200643182\n",
      "Epoch: 21710/50000, Loss: 0.0015662690857425\n",
      "Epoch: 21720/50000, Loss: 0.0015675903996453\n",
      "Epoch: 21730/50000, Loss: 0.0015892140800133\n",
      "Epoch: 21740/50000, Loss: 0.0018167176749557\n",
      "Epoch: 21750/50000, Loss: 0.0016903794603422\n",
      "Epoch: 21760/50000, Loss: 0.0016267123864964\n",
      "Epoch: 21770/50000, Loss: 0.0015708102146164\n",
      "Epoch: 21780/50000, Loss: 0.0015638852491975\n",
      "Epoch: 21790/50000, Loss: 0.0015678004128858\n",
      "Epoch: 21800/50000, Loss: 0.0015726166311651\n",
      "Epoch: 21810/50000, Loss: 0.0016816898714751\n",
      "Epoch: 21820/50000, Loss: 0.0018196023302153\n",
      "Epoch: 21830/50000, Loss: 0.0017151059582829\n",
      "Epoch: 21840/50000, Loss: 0.0015806438168511\n",
      "Epoch: 21850/50000, Loss: 0.0015692064771429\n",
      "Epoch: 21860/50000, Loss: 0.0015692752785981\n",
      "Epoch: 21870/50000, Loss: 0.0015624354127795\n",
      "Epoch: 21880/50000, Loss: 0.0015840873820707\n",
      "Epoch: 21890/50000, Loss: 0.0018300822703168\n",
      "Epoch: 21900/50000, Loss: 0.0017422215314582\n",
      "Epoch: 21910/50000, Loss: 0.0016412499826401\n",
      "Epoch: 21920/50000, Loss: 0.0015819417312741\n",
      "Epoch: 21930/50000, Loss: 0.0015623817453161\n",
      "Epoch: 21940/50000, Loss: 0.0015894774114713\n",
      "Epoch: 21950/50000, Loss: 0.0017878441140056\n",
      "Epoch: 21960/50000, Loss: 0.0015778607921675\n",
      "Epoch: 21970/50000, Loss: 0.0015808063326403\n",
      "Epoch: 21980/50000, Loss: 0.0016203799750656\n",
      "Epoch: 21990/50000, Loss: 0.0017303233034909\n",
      "Epoch: 22000/50000, Loss: 0.0015880622668192\n",
      "Epoch: 22010/50000, Loss: 0.0015831397613510\n",
      "Epoch: 22020/50000, Loss: 0.0018251453293487\n",
      "Epoch: 22030/50000, Loss: 0.0015933468239382\n",
      "Epoch: 22040/50000, Loss: 0.0015598039608449\n",
      "Epoch: 22050/50000, Loss: 0.0015507468488067\n",
      "Epoch: 22060/50000, Loss: 0.0015521378954872\n",
      "Epoch: 22070/50000, Loss: 0.0016473762225360\n",
      "Epoch: 22080/50000, Loss: 0.0017601758008823\n",
      "Epoch: 22090/50000, Loss: 0.0016294439556077\n",
      "Epoch: 22100/50000, Loss: 0.0017118889372796\n",
      "Epoch: 22110/50000, Loss: 0.0015759059460834\n",
      "Epoch: 22120/50000, Loss: 0.0015902912709862\n",
      "Epoch: 22130/50000, Loss: 0.0015525085618719\n",
      "Epoch: 22140/50000, Loss: 0.0015532190445811\n",
      "Epoch: 22150/50000, Loss: 0.0015590086113662\n",
      "Epoch: 22160/50000, Loss: 0.0016271821223199\n",
      "Epoch: 22170/50000, Loss: 0.0017342239152640\n",
      "Epoch: 22180/50000, Loss: 0.0017164342571050\n",
      "Epoch: 22190/50000, Loss: 0.0016384518239647\n",
      "Epoch: 22200/50000, Loss: 0.0015786663861945\n",
      "Epoch: 22210/50000, Loss: 0.0015507390489802\n",
      "Epoch: 22220/50000, Loss: 0.0015424659941345\n",
      "Epoch: 22230/50000, Loss: 0.0015450398204848\n",
      "Epoch: 22240/50000, Loss: 0.0015978575684130\n",
      "Epoch: 22250/50000, Loss: 0.0018959308508784\n",
      "Epoch: 22260/50000, Loss: 0.0016492198919877\n",
      "Epoch: 22270/50000, Loss: 0.0015582562191412\n",
      "Epoch: 22280/50000, Loss: 0.0015437594847754\n",
      "Epoch: 22290/50000, Loss: 0.0015625216765329\n",
      "Epoch: 22300/50000, Loss: 0.0018393862992525\n",
      "Epoch: 22310/50000, Loss: 0.0016162748215720\n",
      "Epoch: 22320/50000, Loss: 0.0016013372223824\n",
      "Epoch: 22330/50000, Loss: 0.0015741684474051\n",
      "Epoch: 22340/50000, Loss: 0.0015635041054338\n",
      "Epoch: 22350/50000, Loss: 0.0015875934623182\n",
      "Epoch: 22360/50000, Loss: 0.0016615682980046\n",
      "Epoch: 22370/50000, Loss: 0.0015619507757947\n",
      "Epoch: 22380/50000, Loss: 0.0015957758296281\n",
      "Epoch: 22390/50000, Loss: 0.0016467100940645\n",
      "Epoch: 22400/50000, Loss: 0.0015834993682802\n",
      "Epoch: 22410/50000, Loss: 0.0015879365382716\n",
      "Epoch: 22420/50000, Loss: 0.0015469148056582\n",
      "Epoch: 22430/50000, Loss: 0.0015677220653743\n",
      "Epoch: 22440/50000, Loss: 0.0018290443113074\n",
      "Epoch: 22450/50000, Loss: 0.0017801686190069\n",
      "Epoch: 22460/50000, Loss: 0.0016292444197461\n",
      "Epoch: 22470/50000, Loss: 0.0015885117463768\n",
      "Epoch: 22480/50000, Loss: 0.0017038753721863\n",
      "Epoch: 22490/50000, Loss: 0.0015657749027014\n",
      "Epoch: 22500/50000, Loss: 0.0015543057816103\n",
      "Epoch: 22510/50000, Loss: 0.0015477663837373\n",
      "Epoch: 22520/50000, Loss: 0.0015350970206782\n",
      "Epoch: 22530/50000, Loss: 0.0015318057266995\n",
      "Epoch: 22540/50000, Loss: 0.0015938010765240\n",
      "Epoch: 22550/50000, Loss: 0.0019464240176603\n",
      "Epoch: 22560/50000, Loss: 0.0015776969958097\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 22570/50000, Loss: 0.0015792687190697\n",
      "Epoch: 22580/50000, Loss: 0.0015436952235177\n",
      "Epoch: 22590/50000, Loss: 0.0015495053958148\n",
      "Epoch: 22600/50000, Loss: 0.0019671416375786\n",
      "Epoch: 22610/50000, Loss: 0.0016846291255206\n",
      "Epoch: 22620/50000, Loss: 0.0015447237528861\n",
      "Epoch: 22630/50000, Loss: 0.0015301266685128\n",
      "Epoch: 22640/50000, Loss: 0.0015318879159167\n",
      "Epoch: 22650/50000, Loss: 0.0015306181740016\n",
      "Epoch: 22660/50000, Loss: 0.0016331678489223\n",
      "Epoch: 22670/50000, Loss: 0.0017746797529981\n",
      "Epoch: 22680/50000, Loss: 0.0016213427297771\n",
      "Epoch: 22690/50000, Loss: 0.0015469380887225\n",
      "Epoch: 22700/50000, Loss: 0.0015411979984492\n",
      "Epoch: 22710/50000, Loss: 0.0015314756892622\n",
      "Epoch: 22720/50000, Loss: 0.0015237213810906\n",
      "Epoch: 22730/50000, Loss: 0.0015227268449962\n",
      "Epoch: 22740/50000, Loss: 0.0015218886546791\n",
      "Epoch: 22750/50000, Loss: 0.0015217309119180\n",
      "Epoch: 22760/50000, Loss: 0.0015617223689333\n",
      "Epoch: 22770/50000, Loss: 0.0020892475731671\n",
      "Epoch: 22780/50000, Loss: 0.0017002186505124\n",
      "Epoch: 22790/50000, Loss: 0.0015786644071341\n",
      "Epoch: 22800/50000, Loss: 0.0015482847811654\n",
      "Epoch: 22810/50000, Loss: 0.0015307026915252\n",
      "Epoch: 22820/50000, Loss: 0.0015213676961139\n",
      "Epoch: 22830/50000, Loss: 0.0015343318227679\n",
      "Epoch: 22840/50000, Loss: 0.0018954003462568\n",
      "Epoch: 22850/50000, Loss: 0.0016477858880535\n",
      "Epoch: 22860/50000, Loss: 0.0015888605266809\n",
      "Epoch: 22870/50000, Loss: 0.0015434724045917\n",
      "Epoch: 22880/50000, Loss: 0.0015276258345693\n",
      "Epoch: 22890/50000, Loss: 0.0015432061627507\n",
      "Epoch: 22900/50000, Loss: 0.0019497126340866\n",
      "Epoch: 22910/50000, Loss: 0.0016103205271065\n",
      "Epoch: 22920/50000, Loss: 0.0015682026278228\n",
      "Epoch: 22930/50000, Loss: 0.0015388666652143\n",
      "Epoch: 22940/50000, Loss: 0.0015231348806992\n",
      "Epoch: 22950/50000, Loss: 0.0015165316872299\n",
      "Epoch: 22960/50000, Loss: 0.0015147658996284\n",
      "Epoch: 22970/50000, Loss: 0.0015140395844355\n",
      "Epoch: 22980/50000, Loss: 0.0015137039590627\n",
      "Epoch: 22990/50000, Loss: 0.0015203243819997\n",
      "Epoch: 23000/50000, Loss: 0.0020052038598806\n",
      "Epoch: 23010/50000, Loss: 0.0018774500349537\n",
      "Epoch: 23020/50000, Loss: 0.0015760225942358\n",
      "Epoch: 23030/50000, Loss: 0.0015486225020140\n",
      "Epoch: 23040/50000, Loss: 0.0015213465085253\n",
      "Epoch: 23050/50000, Loss: 0.0015140433097258\n",
      "Epoch: 23060/50000, Loss: 0.0015320115489885\n",
      "Epoch: 23070/50000, Loss: 0.0020843080710620\n",
      "Epoch: 23080/50000, Loss: 0.0017084106802940\n",
      "Epoch: 23090/50000, Loss: 0.0015566016081721\n",
      "Epoch: 23100/50000, Loss: 0.0015206085518003\n",
      "Epoch: 23110/50000, Loss: 0.0015131412073970\n",
      "Epoch: 23120/50000, Loss: 0.0015114364214242\n",
      "Epoch: 23130/50000, Loss: 0.0015146897640079\n",
      "Epoch: 23140/50000, Loss: 0.0017194864340127\n",
      "Epoch: 23150/50000, Loss: 0.0015274302568287\n",
      "Epoch: 23160/50000, Loss: 0.0015478227287531\n",
      "Epoch: 23170/50000, Loss: 0.0015315930359066\n",
      "Epoch: 23180/50000, Loss: 0.0015201936475933\n",
      "Epoch: 23190/50000, Loss: 0.0016708058537915\n",
      "Epoch: 23200/50000, Loss: 0.0016061019850895\n",
      "Epoch: 23210/50000, Loss: 0.0015108303632587\n",
      "Epoch: 23220/50000, Loss: 0.0015134342247620\n",
      "Epoch: 23230/50000, Loss: 0.0015129270032048\n",
      "Epoch: 23240/50000, Loss: 0.0015076805138960\n",
      "Epoch: 23250/50000, Loss: 0.0015045104082674\n",
      "Epoch: 23260/50000, Loss: 0.0015048914356157\n",
      "Epoch: 23270/50000, Loss: 0.0015589280519634\n",
      "Epoch: 23280/50000, Loss: 0.0018955451669171\n",
      "Epoch: 23290/50000, Loss: 0.0015454490203410\n",
      "Epoch: 23300/50000, Loss: 0.0015433039516211\n",
      "Epoch: 23310/50000, Loss: 0.0015178238973022\n",
      "Epoch: 23320/50000, Loss: 0.0015070802764967\n",
      "Epoch: 23330/50000, Loss: 0.0015081529272720\n",
      "Epoch: 23340/50000, Loss: 0.0015835036756471\n",
      "Epoch: 23350/50000, Loss: 0.0016726320609450\n",
      "Epoch: 23360/50000, Loss: 0.0015673679299653\n",
      "Epoch: 23370/50000, Loss: 0.0015320433303714\n",
      "Epoch: 23380/50000, Loss: 0.0016111623262987\n",
      "Epoch: 23390/50000, Loss: 0.0017517814412713\n",
      "Epoch: 23400/50000, Loss: 0.0015997363952920\n",
      "Epoch: 23410/50000, Loss: 0.0015286451671273\n",
      "Epoch: 23420/50000, Loss: 0.0015118103474379\n",
      "Epoch: 23430/50000, Loss: 0.0015456571709365\n",
      "Epoch: 23440/50000, Loss: 0.0017146283062175\n",
      "Epoch: 23450/50000, Loss: 0.0015373867936432\n",
      "Epoch: 23460/50000, Loss: 0.0015058885328472\n",
      "Epoch: 23470/50000, Loss: 0.0015103506157175\n",
      "Epoch: 23480/50000, Loss: 0.0015051688533276\n",
      "Epoch: 23490/50000, Loss: 0.0015822225250304\n",
      "Epoch: 23500/50000, Loss: 0.0017584763700143\n",
      "Epoch: 23510/50000, Loss: 0.0016257241368294\n",
      "Epoch: 23520/50000, Loss: 0.0016096422914416\n",
      "Epoch: 23530/50000, Loss: 0.0015042325248942\n",
      "Epoch: 23540/50000, Loss: 0.0015092527028173\n",
      "Epoch: 23550/50000, Loss: 0.0015757611254230\n",
      "Epoch: 23560/50000, Loss: 0.0016950453864411\n",
      "Epoch: 23570/50000, Loss: 0.0015942858299240\n",
      "Epoch: 23580/50000, Loss: 0.0015713557368144\n",
      "Epoch: 23590/50000, Loss: 0.0016229365719482\n",
      "Epoch: 23600/50000, Loss: 0.0015370772453025\n",
      "Epoch: 23610/50000, Loss: 0.0015199081972241\n",
      "Epoch: 23620/50000, Loss: 0.0015039561549202\n",
      "Epoch: 23630/50000, Loss: 0.0014930012403056\n",
      "Epoch: 23640/50000, Loss: 0.0015064800390974\n",
      "Epoch: 23650/50000, Loss: 0.0019294390222058\n",
      "Epoch: 23660/50000, Loss: 0.0016654381761327\n",
      "Epoch: 23670/50000, Loss: 0.0015495765255764\n",
      "Epoch: 23680/50000, Loss: 0.0015219873748720\n",
      "Epoch: 23690/50000, Loss: 0.0015737006906420\n",
      "Epoch: 23700/50000, Loss: 0.0017095637740567\n",
      "Epoch: 23710/50000, Loss: 0.0015546119539067\n",
      "Epoch: 23720/50000, Loss: 0.0015025729080662\n",
      "Epoch: 23730/50000, Loss: 0.0015579273458570\n",
      "Epoch: 23740/50000, Loss: 0.0017228623619303\n",
      "Epoch: 23750/50000, Loss: 0.0015995715511963\n",
      "Epoch: 23760/50000, Loss: 0.0016481223283336\n",
      "Epoch: 23770/50000, Loss: 0.0015577380545437\n",
      "Epoch: 23780/50000, Loss: 0.0015304954722524\n",
      "Epoch: 23790/50000, Loss: 0.0014873340260237\n",
      "Epoch: 23800/50000, Loss: 0.0014985317829996\n",
      "Epoch: 23810/50000, Loss: 0.0014950894983485\n",
      "Epoch: 23820/50000, Loss: 0.0015391414053738\n",
      "Epoch: 23830/50000, Loss: 0.0016813821857795\n",
      "Epoch: 23840/50000, Loss: 0.0015905768377706\n",
      "Epoch: 23850/50000, Loss: 0.0015804641880095\n",
      "Epoch: 23860/50000, Loss: 0.0017074270872399\n",
      "Epoch: 23870/50000, Loss: 0.0015486297197640\n",
      "Epoch: 23880/50000, Loss: 0.0014990078052506\n",
      "Epoch: 23890/50000, Loss: 0.0015268395654857\n",
      "Epoch: 23900/50000, Loss: 0.0016567878192291\n",
      "Epoch: 23910/50000, Loss: 0.0015467803459615\n",
      "Epoch: 23920/50000, Loss: 0.0015387861058116\n",
      "Epoch: 23930/50000, Loss: 0.0015005418099463\n",
      "Epoch: 23940/50000, Loss: 0.0014909288147464\n",
      "Epoch: 23950/50000, Loss: 0.0015347332227975\n",
      "Epoch: 23960/50000, Loss: 0.0017174953827634\n",
      "Epoch: 23970/50000, Loss: 0.0016644560964778\n",
      "Epoch: 23980/50000, Loss: 0.0015478180721402\n",
      "Epoch: 23990/50000, Loss: 0.0015145227080211\n",
      "Epoch: 24000/50000, Loss: 0.0015067654894665\n",
      "Epoch: 24010/50000, Loss: 0.0017098954413086\n",
      "Epoch: 24020/50000, Loss: 0.0014963822904974\n",
      "Epoch: 24030/50000, Loss: 0.0014913040213287\n",
      "Epoch: 24040/50000, Loss: 0.0014976494712755\n",
      "Epoch: 24050/50000, Loss: 0.0014869768638164\n",
      "Epoch: 24060/50000, Loss: 0.0014973477227613\n",
      "Epoch: 24070/50000, Loss: 0.0018579136813059\n",
      "Epoch: 24080/50000, Loss: 0.0016511543653905\n",
      "Epoch: 24090/50000, Loss: 0.0015645944513381\n",
      "Epoch: 24100/50000, Loss: 0.0015190182020888\n",
      "Epoch: 24110/50000, Loss: 0.0014899342786521\n",
      "Epoch: 24120/50000, Loss: 0.0014861267991364\n",
      "Epoch: 24130/50000, Loss: 0.0015365264844149\n",
      "Epoch: 24140/50000, Loss: 0.0018426036695018\n",
      "Epoch: 24150/50000, Loss: 0.0016116856131703\n",
      "Epoch: 24160/50000, Loss: 0.0015140180476010\n",
      "Epoch: 24170/50000, Loss: 0.0015380117110908\n",
      "Epoch: 24180/50000, Loss: 0.0016267714090645\n",
      "Epoch: 24190/50000, Loss: 0.0014934091595933\n",
      "Epoch: 24200/50000, Loss: 0.0014982225839049\n",
      "Epoch: 24210/50000, Loss: 0.0015339789679274\n",
      "Epoch: 24220/50000, Loss: 0.0016788960201666\n",
      "Epoch: 24230/50000, Loss: 0.0015489563811570\n",
      "Epoch: 24240/50000, Loss: 0.0014912129845470\n",
      "Epoch: 24250/50000, Loss: 0.0014926368603483\n",
      "Epoch: 24260/50000, Loss: 0.0015124646015465\n",
      "Epoch: 24270/50000, Loss: 0.0018313287291676\n",
      "Epoch: 24280/50000, Loss: 0.0015785242430866\n",
      "Epoch: 24290/50000, Loss: 0.0015231466386467\n",
      "Epoch: 24300/50000, Loss: 0.0014991263160482\n",
      "Epoch: 24310/50000, Loss: 0.0014883960830048\n",
      "Epoch: 24320/50000, Loss: 0.0015497589483857\n",
      "Epoch: 24330/50000, Loss: 0.0016755826072767\n",
      "Epoch: 24340/50000, Loss: 0.0015106829814613\n",
      "Epoch: 24350/50000, Loss: 0.0014747751411051\n",
      "Epoch: 24360/50000, Loss: 0.0014884244883433\n",
      "Epoch: 24370/50000, Loss: 0.0014900722308084\n",
      "Epoch: 24380/50000, Loss: 0.0016406088834628\n",
      "Epoch: 24390/50000, Loss: 0.0015316320350394\n",
      "Epoch: 24400/50000, Loss: 0.0015430146595463\n",
      "Epoch: 24410/50000, Loss: 0.0016393465921283\n",
      "Epoch: 24420/50000, Loss: 0.0015438871923834\n",
      "Epoch: 24430/50000, Loss: 0.0015854672528803\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 24440/50000, Loss: 0.0015149735845625\n",
      "Epoch: 24450/50000, Loss: 0.0014790805289522\n",
      "Epoch: 24460/50000, Loss: 0.0014970481861383\n",
      "Epoch: 24470/50000, Loss: 0.0015898975543678\n",
      "Epoch: 24480/50000, Loss: 0.0015440661227331\n",
      "Epoch: 24490/50000, Loss: 0.0015588847454637\n",
      "Epoch: 24500/50000, Loss: 0.0015682834200561\n",
      "Epoch: 24510/50000, Loss: 0.0014936582883820\n",
      "Epoch: 24520/50000, Loss: 0.0015329441521317\n",
      "Epoch: 24530/50000, Loss: 0.0016244390280917\n",
      "Epoch: 24540/50000, Loss: 0.0017539217369631\n",
      "Epoch: 24550/50000, Loss: 0.0015613227151334\n",
      "Epoch: 24560/50000, Loss: 0.0014881528913975\n",
      "Epoch: 24570/50000, Loss: 0.0014729298418388\n",
      "Epoch: 24580/50000, Loss: 0.0014692628756166\n",
      "Epoch: 24590/50000, Loss: 0.0015834725927562\n",
      "Epoch: 24600/50000, Loss: 0.0017199206631631\n",
      "Epoch: 24610/50000, Loss: 0.0015335779171437\n",
      "Epoch: 24620/50000, Loss: 0.0015287871938199\n",
      "Epoch: 24630/50000, Loss: 0.0014806539984420\n",
      "Epoch: 24640/50000, Loss: 0.0014635965926573\n",
      "Epoch: 24650/50000, Loss: 0.0014600279973820\n",
      "Epoch: 24660/50000, Loss: 0.0014612760860473\n",
      "Epoch: 24670/50000, Loss: 0.0014828456332907\n",
      "Epoch: 24680/50000, Loss: 0.0018184832297266\n",
      "Epoch: 24690/50000, Loss: 0.0017990001942962\n",
      "Epoch: 24700/50000, Loss: 0.0015854778466746\n",
      "Epoch: 24710/50000, Loss: 0.0014992491342127\n",
      "Epoch: 24720/50000, Loss: 0.0014674947597086\n",
      "Epoch: 24730/50000, Loss: 0.0014615731779486\n",
      "Epoch: 24740/50000, Loss: 0.0014598870184273\n",
      "Epoch: 24750/50000, Loss: 0.0014746170490980\n",
      "Epoch: 24760/50000, Loss: 0.0017489615129307\n",
      "Epoch: 24770/50000, Loss: 0.0015145518118516\n",
      "Epoch: 24780/50000, Loss: 0.0014870670856908\n",
      "Epoch: 24790/50000, Loss: 0.0015291341114789\n",
      "Epoch: 24800/50000, Loss: 0.0017414062749594\n",
      "Epoch: 24810/50000, Loss: 0.0015247066039592\n",
      "Epoch: 24820/50000, Loss: 0.0014810181455687\n",
      "Epoch: 24830/50000, Loss: 0.0014639208093286\n",
      "Epoch: 24840/50000, Loss: 0.0014576154062524\n",
      "Epoch: 24850/50000, Loss: 0.0014602825976908\n",
      "Epoch: 24860/50000, Loss: 0.0015283758984879\n",
      "Epoch: 24870/50000, Loss: 0.0017907420406118\n",
      "Epoch: 24880/50000, Loss: 0.0015674578025937\n",
      "Epoch: 24890/50000, Loss: 0.0014998187543824\n",
      "Epoch: 24900/50000, Loss: 0.0015247378032655\n",
      "Epoch: 24910/50000, Loss: 0.0016802221070975\n",
      "Epoch: 24920/50000, Loss: 0.0015836573438719\n",
      "Epoch: 24930/50000, Loss: 0.0016345336334780\n",
      "Epoch: 24940/50000, Loss: 0.0015035698888823\n",
      "Epoch: 24950/50000, Loss: 0.0014630096266046\n",
      "Epoch: 24960/50000, Loss: 0.0014704114291817\n",
      "Epoch: 24970/50000, Loss: 0.0014972954522818\n",
      "Epoch: 24980/50000, Loss: 0.0016572312451899\n",
      "Epoch: 24990/50000, Loss: 0.0015353048220277\n",
      "Epoch: 25000/50000, Loss: 0.0015682905213907\n",
      "Epoch: 25010/50000, Loss: 0.0014843551907688\n",
      "Epoch: 25020/50000, Loss: 0.0014671059325337\n",
      "Epoch: 25030/50000, Loss: 0.0014636147534475\n",
      "Epoch: 25040/50000, Loss: 0.0015357055235654\n",
      "Epoch: 25050/50000, Loss: 0.0016968278214335\n",
      "Epoch: 25060/50000, Loss: 0.0015284632099792\n",
      "Epoch: 25070/50000, Loss: 0.0014795777387917\n",
      "Epoch: 25080/50000, Loss: 0.0014647095231339\n",
      "Epoch: 25090/50000, Loss: 0.0015370053006336\n",
      "Epoch: 25100/50000, Loss: 0.0016720007406548\n",
      "Epoch: 25110/50000, Loss: 0.0014615195104852\n",
      "Epoch: 25120/50000, Loss: 0.0014678492443636\n",
      "Epoch: 25130/50000, Loss: 0.0014628327917308\n",
      "Epoch: 25140/50000, Loss: 0.0014617766719311\n",
      "Epoch: 25150/50000, Loss: 0.0016349622746930\n",
      "Epoch: 25160/50000, Loss: 0.0014719194732606\n",
      "Epoch: 25170/50000, Loss: 0.0014607828343287\n",
      "Epoch: 25180/50000, Loss: 0.0014979392290115\n",
      "Epoch: 25190/50000, Loss: 0.0016126317204908\n",
      "Epoch: 25200/50000, Loss: 0.0014963059220463\n",
      "Epoch: 25210/50000, Loss: 0.0014524587895721\n",
      "Epoch: 25220/50000, Loss: 0.0014493481721729\n",
      "Epoch: 25230/50000, Loss: 0.0014833009336144\n",
      "Epoch: 25240/50000, Loss: 0.0018416566308588\n",
      "Epoch: 25250/50000, Loss: 0.0015525949420407\n",
      "Epoch: 25260/50000, Loss: 0.0014883606927469\n",
      "Epoch: 25270/50000, Loss: 0.0014570637140423\n",
      "Epoch: 25280/50000, Loss: 0.0014490408357233\n",
      "Epoch: 25290/50000, Loss: 0.0014455440687016\n",
      "Epoch: 25300/50000, Loss: 0.0015680650249124\n",
      "Epoch: 25310/50000, Loss: 0.0017142025753856\n",
      "Epoch: 25320/50000, Loss: 0.0014549728948623\n",
      "Epoch: 25330/50000, Loss: 0.0014983969740570\n",
      "Epoch: 25340/50000, Loss: 0.0014597185654566\n",
      "Epoch: 25350/50000, Loss: 0.0014411041047424\n",
      "Epoch: 25360/50000, Loss: 0.0014394838362932\n",
      "Epoch: 25370/50000, Loss: 0.0014646685449407\n",
      "Epoch: 25380/50000, Loss: 0.0019421927863732\n",
      "Epoch: 25390/50000, Loss: 0.0016236874507740\n",
      "Epoch: 25400/50000, Loss: 0.0015283998800442\n",
      "Epoch: 25410/50000, Loss: 0.0015857140533626\n",
      "Epoch: 25420/50000, Loss: 0.0014598394045606\n",
      "Epoch: 25430/50000, Loss: 0.0014487920561805\n",
      "Epoch: 25440/50000, Loss: 0.0014485926367342\n",
      "Epoch: 25450/50000, Loss: 0.0014903390547261\n",
      "Epoch: 25460/50000, Loss: 0.0015799968969077\n",
      "Epoch: 25470/50000, Loss: 0.0015480641741306\n",
      "Epoch: 25480/50000, Loss: 0.0014815708855167\n",
      "Epoch: 25490/50000, Loss: 0.0014514959184453\n",
      "Epoch: 25500/50000, Loss: 0.0014538639225066\n",
      "Epoch: 25510/50000, Loss: 0.0014823991805315\n",
      "Epoch: 25520/50000, Loss: 0.0016084675444290\n",
      "Epoch: 25530/50000, Loss: 0.0015138838207349\n",
      "Epoch: 25540/50000, Loss: 0.0015845820307732\n",
      "Epoch: 25550/50000, Loss: 0.0015382040292025\n",
      "Epoch: 25560/50000, Loss: 0.0014766452368349\n",
      "Epoch: 25570/50000, Loss: 0.0014849472790956\n",
      "Epoch: 25580/50000, Loss: 0.0015028183115646\n",
      "Epoch: 25590/50000, Loss: 0.0015159106114879\n",
      "Epoch: 25600/50000, Loss: 0.0015466992044821\n",
      "Epoch: 25610/50000, Loss: 0.0015267594717443\n",
      "Epoch: 25620/50000, Loss: 0.0014625025214627\n",
      "Epoch: 25630/50000, Loss: 0.0014552439097315\n",
      "Epoch: 25640/50000, Loss: 0.0015449275961146\n",
      "Epoch: 25650/50000, Loss: 0.0015373299829662\n",
      "Epoch: 25660/50000, Loss: 0.0015093843685463\n",
      "Epoch: 25670/50000, Loss: 0.0015300164232031\n",
      "Epoch: 25680/50000, Loss: 0.0016065847594291\n",
      "Epoch: 25690/50000, Loss: 0.0015281611122191\n",
      "Epoch: 25700/50000, Loss: 0.0014774636365473\n",
      "Epoch: 25710/50000, Loss: 0.0014598764246330\n",
      "Epoch: 25720/50000, Loss: 0.0015969261294231\n",
      "Epoch: 25730/50000, Loss: 0.0014957950916141\n",
      "Epoch: 25740/50000, Loss: 0.0014604793395847\n",
      "Epoch: 25750/50000, Loss: 0.0014469403540716\n",
      "Epoch: 25760/50000, Loss: 0.0014409137656912\n",
      "Epoch: 25770/50000, Loss: 0.0014563653385267\n",
      "Epoch: 25780/50000, Loss: 0.0016087886178866\n",
      "Epoch: 25790/50000, Loss: 0.0015488796634600\n",
      "Epoch: 25800/50000, Loss: 0.0014571308856830\n",
      "Epoch: 25810/50000, Loss: 0.0014716567238793\n",
      "Epoch: 25820/50000, Loss: 0.0015646124957129\n",
      "Epoch: 25830/50000, Loss: 0.0014951158082113\n",
      "Epoch: 25840/50000, Loss: 0.0015872032381594\n",
      "Epoch: 25850/50000, Loss: 0.0015530455857515\n",
      "Epoch: 25860/50000, Loss: 0.0014582305448130\n",
      "Epoch: 25870/50000, Loss: 0.0014302134513855\n",
      "Epoch: 25880/50000, Loss: 0.0014354769373313\n",
      "Epoch: 25890/50000, Loss: 0.0014476982178167\n",
      "Epoch: 25900/50000, Loss: 0.0016216114163399\n",
      "Epoch: 25910/50000, Loss: 0.0014867449644953\n",
      "Epoch: 25920/50000, Loss: 0.0014964236179367\n",
      "Epoch: 25930/50000, Loss: 0.0015293741598725\n",
      "Epoch: 25940/50000, Loss: 0.0015319538069889\n",
      "Epoch: 25950/50000, Loss: 0.0014374544844031\n",
      "Epoch: 25960/50000, Loss: 0.0014448206638917\n",
      "Epoch: 25970/50000, Loss: 0.0015006742905825\n",
      "Epoch: 25980/50000, Loss: 0.0015905554173514\n",
      "Epoch: 25990/50000, Loss: 0.0015829886542633\n",
      "Epoch: 26000/50000, Loss: 0.0014673820696771\n",
      "Epoch: 26010/50000, Loss: 0.0014346309471875\n",
      "Epoch: 26020/50000, Loss: 0.0014376010512933\n",
      "Epoch: 26030/50000, Loss: 0.0014665378257632\n",
      "Epoch: 26040/50000, Loss: 0.0016155872726813\n",
      "Epoch: 26050/50000, Loss: 0.0014373121084645\n",
      "Epoch: 26060/50000, Loss: 0.0014710217947140\n",
      "Epoch: 26070/50000, Loss: 0.0017320091137663\n",
      "Epoch: 26080/50000, Loss: 0.0015440692659467\n",
      "Epoch: 26090/50000, Loss: 0.0015462844166905\n",
      "Epoch: 26100/50000, Loss: 0.0014535468071699\n",
      "Epoch: 26110/50000, Loss: 0.0014503119746223\n",
      "Epoch: 26120/50000, Loss: 0.0014453495386988\n",
      "Epoch: 26130/50000, Loss: 0.0016463329084218\n",
      "Epoch: 26140/50000, Loss: 0.0014797279145569\n",
      "Epoch: 26150/50000, Loss: 0.0014422609237954\n",
      "Epoch: 26160/50000, Loss: 0.0014607561752200\n",
      "Epoch: 26170/50000, Loss: 0.0015049801440910\n",
      "Epoch: 26180/50000, Loss: 0.0015340773388743\n",
      "Epoch: 26190/50000, Loss: 0.0014815698377788\n",
      "Epoch: 26200/50000, Loss: 0.0014391782460734\n",
      "Epoch: 26210/50000, Loss: 0.0014215147821233\n",
      "Epoch: 26220/50000, Loss: 0.0014468212611973\n",
      "Epoch: 26230/50000, Loss: 0.0015425911406055\n",
      "Epoch: 26240/50000, Loss: 0.0015447655459866\n",
      "Epoch: 26250/50000, Loss: 0.0015918209683150\n",
      "Epoch: 26260/50000, Loss: 0.0015587038360536\n",
      "Epoch: 26270/50000, Loss: 0.0015747214201838\n",
      "Epoch: 26280/50000, Loss: 0.0014402944361791\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 26290/50000, Loss: 0.0014638580614701\n",
      "Epoch: 26300/50000, Loss: 0.0015471910592169\n",
      "Epoch: 26310/50000, Loss: 0.0014550649793819\n",
      "Epoch: 26320/50000, Loss: 0.0014781876234338\n",
      "Epoch: 26330/50000, Loss: 0.0014777523465455\n",
      "Epoch: 26340/50000, Loss: 0.0014695025747642\n",
      "Epoch: 26350/50000, Loss: 0.0014611713122576\n",
      "Epoch: 26360/50000, Loss: 0.0014757610624656\n",
      "Epoch: 26370/50000, Loss: 0.0015829084441066\n",
      "Epoch: 26380/50000, Loss: 0.0015545584028587\n",
      "Epoch: 26390/50000, Loss: 0.0014773911098018\n",
      "Epoch: 26400/50000, Loss: 0.0015503258910030\n",
      "Epoch: 26410/50000, Loss: 0.0014610715443268\n",
      "Epoch: 26420/50000, Loss: 0.0014497183728963\n",
      "Epoch: 26430/50000, Loss: 0.0014241624157876\n",
      "Epoch: 26440/50000, Loss: 0.0014684678753838\n",
      "Epoch: 26450/50000, Loss: 0.0015126576181501\n",
      "Epoch: 26460/50000, Loss: 0.0015259447973222\n",
      "Epoch: 26470/50000, Loss: 0.0016150833107531\n",
      "Epoch: 26480/50000, Loss: 0.0015760159585625\n",
      "Epoch: 26490/50000, Loss: 0.0014529078034684\n",
      "Epoch: 26500/50000, Loss: 0.0014347907854244\n",
      "Epoch: 26510/50000, Loss: 0.0014195323456079\n",
      "Epoch: 26520/50000, Loss: 0.0014149514026940\n",
      "Epoch: 26530/50000, Loss: 0.0014977542450652\n",
      "Epoch: 26540/50000, Loss: 0.0016162749379873\n",
      "Epoch: 26550/50000, Loss: 0.0015431372448802\n",
      "Epoch: 26560/50000, Loss: 0.0015802213456482\n",
      "Epoch: 26570/50000, Loss: 0.0014383309753612\n",
      "Epoch: 26580/50000, Loss: 0.0014172792434692\n",
      "Epoch: 26590/50000, Loss: 0.0014129296177998\n",
      "Epoch: 26600/50000, Loss: 0.0014684073394164\n",
      "Epoch: 26610/50000, Loss: 0.0019489668775350\n",
      "Epoch: 26620/50000, Loss: 0.0015755109488964\n",
      "Epoch: 26630/50000, Loss: 0.0014618675922975\n",
      "Epoch: 26640/50000, Loss: 0.0014180876314640\n",
      "Epoch: 26650/50000, Loss: 0.0014084491413087\n",
      "Epoch: 26660/50000, Loss: 0.0014132487121969\n",
      "Epoch: 26670/50000, Loss: 0.0016540084034204\n",
      "Epoch: 26680/50000, Loss: 0.0015186518430710\n",
      "Epoch: 26690/50000, Loss: 0.0014784870436415\n",
      "Epoch: 26700/50000, Loss: 0.0014276542933658\n",
      "Epoch: 26710/50000, Loss: 0.0014130622148514\n",
      "Epoch: 26720/50000, Loss: 0.0014342261711136\n",
      "Epoch: 26730/50000, Loss: 0.0015906692715362\n",
      "Epoch: 26740/50000, Loss: 0.0014143141452223\n",
      "Epoch: 26750/50000, Loss: 0.0014349464327097\n",
      "Epoch: 26760/50000, Loss: 0.0015941592864692\n",
      "Epoch: 26770/50000, Loss: 0.0014878058573231\n",
      "Epoch: 26780/50000, Loss: 0.0014393889578059\n",
      "Epoch: 26790/50000, Loss: 0.0014304079813883\n",
      "Epoch: 26800/50000, Loss: 0.0014565680176020\n",
      "Epoch: 26810/50000, Loss: 0.0014978209510446\n",
      "Epoch: 26820/50000, Loss: 0.0014210898661986\n",
      "Epoch: 26830/50000, Loss: 0.0015112562105060\n",
      "Epoch: 26840/50000, Loss: 0.0015867917099968\n",
      "Epoch: 26850/50000, Loss: 0.0014981870772317\n",
      "Epoch: 26860/50000, Loss: 0.0014451681636274\n",
      "Epoch: 26870/50000, Loss: 0.0014506822917610\n",
      "Epoch: 26880/50000, Loss: 0.0014540468109772\n",
      "Epoch: 26890/50000, Loss: 0.0014797673793510\n",
      "Epoch: 26900/50000, Loss: 0.0015520279994234\n",
      "Epoch: 26910/50000, Loss: 0.0014308715471998\n",
      "Epoch: 26920/50000, Loss: 0.0014397919876501\n",
      "Epoch: 26930/50000, Loss: 0.0014346723910421\n",
      "Epoch: 26940/50000, Loss: 0.0015015579992905\n",
      "Epoch: 26950/50000, Loss: 0.0015171134145930\n",
      "Epoch: 26960/50000, Loss: 0.0014865197008476\n",
      "Epoch: 26970/50000, Loss: 0.0014679961604998\n",
      "Epoch: 26980/50000, Loss: 0.0015506010968238\n",
      "Epoch: 26990/50000, Loss: 0.0014487508451566\n",
      "Epoch: 27000/50000, Loss: 0.0014047620352358\n",
      "Epoch: 27010/50000, Loss: 0.0014348784461617\n",
      "Epoch: 27020/50000, Loss: 0.0016831510001794\n",
      "Epoch: 27030/50000, Loss: 0.0014764324296266\n",
      "Epoch: 27040/50000, Loss: 0.0014016253408045\n",
      "Epoch: 27050/50000, Loss: 0.0014228234067559\n",
      "Epoch: 27060/50000, Loss: 0.0015723992837593\n",
      "Epoch: 27070/50000, Loss: 0.0014583307784051\n",
      "Epoch: 27080/50000, Loss: 0.0014394917525351\n",
      "Epoch: 27090/50000, Loss: 0.0014150339411572\n",
      "Epoch: 27100/50000, Loss: 0.0013986595440656\n",
      "Epoch: 27110/50000, Loss: 0.0014110101619735\n",
      "Epoch: 27120/50000, Loss: 0.0017288454109803\n",
      "Epoch: 27130/50000, Loss: 0.0014493884518743\n",
      "Epoch: 27140/50000, Loss: 0.0015099295414984\n",
      "Epoch: 27150/50000, Loss: 0.0014462881954387\n",
      "Epoch: 27160/50000, Loss: 0.0014290416147560\n",
      "Epoch: 27170/50000, Loss: 0.0013931444846094\n",
      "Epoch: 27180/50000, Loss: 0.0014016337227076\n",
      "Epoch: 27190/50000, Loss: 0.0014429485891014\n",
      "Epoch: 27200/50000, Loss: 0.0017400900833309\n",
      "Epoch: 27210/50000, Loss: 0.0015634044539183\n",
      "Epoch: 27220/50000, Loss: 0.0014696195721626\n",
      "Epoch: 27230/50000, Loss: 0.0014174807583913\n",
      "Epoch: 27240/50000, Loss: 0.0014063003472984\n",
      "Epoch: 27250/50000, Loss: 0.0014461191603914\n",
      "Epoch: 27260/50000, Loss: 0.0015585066284984\n",
      "Epoch: 27270/50000, Loss: 0.0015425030142069\n",
      "Epoch: 27280/50000, Loss: 0.0015618072357029\n",
      "Epoch: 27290/50000, Loss: 0.0014433697797358\n",
      "Epoch: 27300/50000, Loss: 0.0014054218772799\n",
      "Epoch: 27310/50000, Loss: 0.0014042593538761\n",
      "Epoch: 27320/50000, Loss: 0.0014052278129384\n",
      "Epoch: 27330/50000, Loss: 0.0014859475195408\n",
      "Epoch: 27340/50000, Loss: 0.0015031433431432\n",
      "Epoch: 27350/50000, Loss: 0.0015687999548391\n",
      "Epoch: 27360/50000, Loss: 0.0014985402813181\n",
      "Epoch: 27370/50000, Loss: 0.0014092889614403\n",
      "Epoch: 27380/50000, Loss: 0.0014420925872400\n",
      "Epoch: 27390/50000, Loss: 0.0015205898089334\n",
      "Epoch: 27400/50000, Loss: 0.0013926385436207\n",
      "Epoch: 27410/50000, Loss: 0.0014106521848589\n",
      "Epoch: 27420/50000, Loss: 0.0014674209523946\n",
      "Epoch: 27430/50000, Loss: 0.0017225869232789\n",
      "Epoch: 27440/50000, Loss: 0.0014769067056477\n",
      "Epoch: 27450/50000, Loss: 0.0014107715105638\n",
      "Epoch: 27460/50000, Loss: 0.0013948368141428\n",
      "Epoch: 27470/50000, Loss: 0.0013866012450308\n",
      "Epoch: 27480/50000, Loss: 0.0014443420805037\n",
      "Epoch: 27490/50000, Loss: 0.0019123377278447\n",
      "Epoch: 27500/50000, Loss: 0.0014517313102260\n",
      "Epoch: 27510/50000, Loss: 0.0014089213218540\n",
      "Epoch: 27520/50000, Loss: 0.0014023629482836\n",
      "Epoch: 27530/50000, Loss: 0.0013880106853321\n",
      "Epoch: 27540/50000, Loss: 0.0013825729256496\n",
      "Epoch: 27550/50000, Loss: 0.0013845470966771\n",
      "Epoch: 27560/50000, Loss: 0.0015287804417312\n",
      "Epoch: 27570/50000, Loss: 0.0015296981437132\n",
      "Epoch: 27580/50000, Loss: 0.0015898714773357\n",
      "Epoch: 27590/50000, Loss: 0.0014355364255607\n",
      "Epoch: 27600/50000, Loss: 0.0013906357344240\n",
      "Epoch: 27610/50000, Loss: 0.0013871414121240\n",
      "Epoch: 27620/50000, Loss: 0.0013811348471791\n",
      "Epoch: 27630/50000, Loss: 0.0013813269324601\n",
      "Epoch: 27640/50000, Loss: 0.0014552070060745\n",
      "Epoch: 27650/50000, Loss: 0.0015801093541086\n",
      "Epoch: 27660/50000, Loss: 0.0014490908943117\n",
      "Epoch: 27670/50000, Loss: 0.0014154831878841\n",
      "Epoch: 27680/50000, Loss: 0.0014296155422926\n",
      "Epoch: 27690/50000, Loss: 0.0014998791739345\n",
      "Epoch: 27700/50000, Loss: 0.0014438735088333\n",
      "Epoch: 27710/50000, Loss: 0.0014031305909157\n",
      "Epoch: 27720/50000, Loss: 0.0013932046713307\n",
      "Epoch: 27730/50000, Loss: 0.0014436643105000\n",
      "Epoch: 27740/50000, Loss: 0.0015212310245261\n",
      "Epoch: 27750/50000, Loss: 0.0015090564265847\n",
      "Epoch: 27760/50000, Loss: 0.0014167795889080\n",
      "Epoch: 27770/50000, Loss: 0.0015277251368389\n",
      "Epoch: 27780/50000, Loss: 0.0014832323649898\n",
      "Epoch: 27790/50000, Loss: 0.0014219842851162\n",
      "Epoch: 27800/50000, Loss: 0.0014046035939828\n",
      "Epoch: 27810/50000, Loss: 0.0013817999279127\n",
      "Epoch: 27820/50000, Loss: 0.0013837373116985\n",
      "Epoch: 27830/50000, Loss: 0.0015369007596746\n",
      "Epoch: 27840/50000, Loss: 0.0015178122557700\n",
      "Epoch: 27850/50000, Loss: 0.0014134537195787\n",
      "Epoch: 27860/50000, Loss: 0.0013845540815964\n",
      "Epoch: 27870/50000, Loss: 0.0014197905547917\n",
      "Epoch: 27880/50000, Loss: 0.0016520625213161\n",
      "Epoch: 27890/50000, Loss: 0.0014025320997462\n",
      "Epoch: 27900/50000, Loss: 0.0013811736134812\n",
      "Epoch: 27910/50000, Loss: 0.0013961143558845\n",
      "Epoch: 27920/50000, Loss: 0.0013796743005514\n",
      "Epoch: 27930/50000, Loss: 0.0014099142281339\n",
      "Epoch: 27940/50000, Loss: 0.0016016858862713\n",
      "Epoch: 27950/50000, Loss: 0.0014190437505022\n",
      "Epoch: 27960/50000, Loss: 0.0013768177013844\n",
      "Epoch: 27970/50000, Loss: 0.0013953133020550\n",
      "Epoch: 27980/50000, Loss: 0.0014887619763613\n",
      "Epoch: 27990/50000, Loss: 0.0015426408499479\n",
      "Epoch: 28000/50000, Loss: 0.0014379026833922\n",
      "Epoch: 28010/50000, Loss: 0.0014010921586305\n",
      "Epoch: 28020/50000, Loss: 0.0013976871268824\n",
      "Epoch: 28030/50000, Loss: 0.0014699925668538\n",
      "Epoch: 28040/50000, Loss: 0.0015099549200386\n",
      "Epoch: 28050/50000, Loss: 0.0014776039170101\n",
      "Epoch: 28060/50000, Loss: 0.0014440752565861\n",
      "Epoch: 28070/50000, Loss: 0.0014031282626092\n",
      "Epoch: 28080/50000, Loss: 0.0013795993290842\n",
      "Epoch: 28090/50000, Loss: 0.0013801056193188\n",
      "Epoch: 28100/50000, Loss: 0.0014300458133221\n",
      "Epoch: 28110/50000, Loss: 0.0017330475384369\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 28120/50000, Loss: 0.0016502052312717\n",
      "Epoch: 28130/50000, Loss: 0.0014745172811672\n",
      "Epoch: 28140/50000, Loss: 0.0014059060486034\n",
      "Epoch: 28150/50000, Loss: 0.0013892669230700\n",
      "Epoch: 28160/50000, Loss: 0.0013888709945604\n",
      "Epoch: 28170/50000, Loss: 0.0014993875520304\n",
      "Epoch: 28180/50000, Loss: 0.0014679131563753\n",
      "Epoch: 28190/50000, Loss: 0.0014250900130719\n",
      "Epoch: 28200/50000, Loss: 0.0013779810396954\n",
      "Epoch: 28210/50000, Loss: 0.0013803394977003\n",
      "Epoch: 28220/50000, Loss: 0.0015049652429298\n",
      "Epoch: 28230/50000, Loss: 0.0015975062269717\n",
      "Epoch: 28240/50000, Loss: 0.0014157558325678\n",
      "Epoch: 28250/50000, Loss: 0.0013814413687214\n",
      "Epoch: 28260/50000, Loss: 0.0013803920010105\n",
      "Epoch: 28270/50000, Loss: 0.0013745749602094\n",
      "Epoch: 28280/50000, Loss: 0.0013689710758626\n",
      "Epoch: 28290/50000, Loss: 0.0014534373767674\n",
      "Epoch: 28300/50000, Loss: 0.0015435033710673\n",
      "Epoch: 28310/50000, Loss: 0.0014388300478458\n",
      "Epoch: 28320/50000, Loss: 0.0013963044621050\n",
      "Epoch: 28330/50000, Loss: 0.0013726126635447\n",
      "Epoch: 28340/50000, Loss: 0.0013648223830387\n",
      "Epoch: 28350/50000, Loss: 0.0013811738463119\n",
      "Epoch: 28360/50000, Loss: 0.0016573771135882\n",
      "Epoch: 28370/50000, Loss: 0.0015040711732581\n",
      "Epoch: 28380/50000, Loss: 0.0015253177843988\n",
      "Epoch: 28390/50000, Loss: 0.0014225021004677\n",
      "Epoch: 28400/50000, Loss: 0.0013750066282228\n",
      "Epoch: 28410/50000, Loss: 0.0013772260863334\n",
      "Epoch: 28420/50000, Loss: 0.0013928523985669\n",
      "Epoch: 28430/50000, Loss: 0.0014908295124769\n",
      "Epoch: 28440/50000, Loss: 0.0014396274928004\n",
      "Epoch: 28450/50000, Loss: 0.0015358285745606\n",
      "Epoch: 28460/50000, Loss: 0.0014127641916275\n",
      "Epoch: 28470/50000, Loss: 0.0013689920306206\n",
      "Epoch: 28480/50000, Loss: 0.0013734638923779\n",
      "Epoch: 28490/50000, Loss: 0.0014543866273016\n",
      "Epoch: 28500/50000, Loss: 0.0016608596779406\n",
      "Epoch: 28510/50000, Loss: 0.0014615305699408\n",
      "Epoch: 28520/50000, Loss: 0.0013864755164832\n",
      "Epoch: 28530/50000, Loss: 0.0013949032872915\n",
      "Epoch: 28540/50000, Loss: 0.0014418048085645\n",
      "Epoch: 28550/50000, Loss: 0.0014634433900937\n",
      "Epoch: 28560/50000, Loss: 0.0014441676903516\n",
      "Epoch: 28570/50000, Loss: 0.0014214783441275\n",
      "Epoch: 28580/50000, Loss: 0.0013858510646969\n",
      "Epoch: 28590/50000, Loss: 0.0013693838845938\n",
      "Epoch: 28600/50000, Loss: 0.0014057117514312\n",
      "Epoch: 28610/50000, Loss: 0.0015955303097144\n",
      "Epoch: 28620/50000, Loss: 0.0015629418194294\n",
      "Epoch: 28630/50000, Loss: 0.0014161997241899\n",
      "Epoch: 28640/50000, Loss: 0.0013827733928338\n",
      "Epoch: 28650/50000, Loss: 0.0013632797636092\n",
      "Epoch: 28660/50000, Loss: 0.0014401607913896\n",
      "Epoch: 28670/50000, Loss: 0.0016359427245334\n",
      "Epoch: 28680/50000, Loss: 0.0014608602505177\n",
      "Epoch: 28690/50000, Loss: 0.0013928526313975\n",
      "Epoch: 28700/50000, Loss: 0.0013778860447928\n",
      "Epoch: 28710/50000, Loss: 0.0014004131080583\n",
      "Epoch: 28720/50000, Loss: 0.0015951851382852\n",
      "Epoch: 28730/50000, Loss: 0.0015321697574109\n",
      "Epoch: 28740/50000, Loss: 0.0014304156647995\n",
      "Epoch: 28750/50000, Loss: 0.0013688904000446\n",
      "Epoch: 28760/50000, Loss: 0.0013533128658310\n",
      "Epoch: 28770/50000, Loss: 0.0013622802216560\n",
      "Epoch: 28780/50000, Loss: 0.0014208583161235\n",
      "Epoch: 28790/50000, Loss: 0.0016871100524440\n",
      "Epoch: 28800/50000, Loss: 0.0015924387844279\n",
      "Epoch: 28810/50000, Loss: 0.0014182076556608\n",
      "Epoch: 28820/50000, Loss: 0.0013896734453738\n",
      "Epoch: 28830/50000, Loss: 0.0013599422527477\n",
      "Epoch: 28840/50000, Loss: 0.0013713269727305\n",
      "Epoch: 28850/50000, Loss: 0.0015723155811429\n",
      "Epoch: 28860/50000, Loss: 0.0014735850272700\n",
      "Epoch: 28870/50000, Loss: 0.0013671973720193\n",
      "Epoch: 28880/50000, Loss: 0.0013650932814926\n",
      "Epoch: 28890/50000, Loss: 0.0013559719081968\n",
      "Epoch: 28900/50000, Loss: 0.0013625741703436\n",
      "Epoch: 28910/50000, Loss: 0.0015150521649048\n",
      "Epoch: 28920/50000, Loss: 0.0015369218308479\n",
      "Epoch: 28930/50000, Loss: 0.0013703971635550\n",
      "Epoch: 28940/50000, Loss: 0.0013730389764532\n",
      "Epoch: 28950/50000, Loss: 0.0013632570626214\n",
      "Epoch: 28960/50000, Loss: 0.0013562233652920\n",
      "Epoch: 28970/50000, Loss: 0.0013907948741689\n",
      "Epoch: 28980/50000, Loss: 0.0018060801085085\n",
      "Epoch: 28990/50000, Loss: 0.0015093527035788\n",
      "Epoch: 29000/50000, Loss: 0.0014077494852245\n",
      "Epoch: 29010/50000, Loss: 0.0013888722751290\n",
      "Epoch: 29020/50000, Loss: 0.0015112507389858\n",
      "Epoch: 29030/50000, Loss: 0.0013837066944689\n",
      "Epoch: 29040/50000, Loss: 0.0014110815245658\n",
      "Epoch: 29050/50000, Loss: 0.0014477347722277\n",
      "Epoch: 29060/50000, Loss: 0.0013522829394788\n",
      "Epoch: 29070/50000, Loss: 0.0013699356932193\n",
      "Epoch: 29080/50000, Loss: 0.0014310494298115\n",
      "Epoch: 29090/50000, Loss: 0.0015333400806412\n",
      "Epoch: 29100/50000, Loss: 0.0015705646947026\n",
      "Epoch: 29110/50000, Loss: 0.0014136108802631\n",
      "Epoch: 29120/50000, Loss: 0.0013736556284130\n",
      "Epoch: 29130/50000, Loss: 0.0013499280903488\n",
      "Epoch: 29140/50000, Loss: 0.0013545169495046\n",
      "Epoch: 29150/50000, Loss: 0.0014013069448993\n",
      "Epoch: 29160/50000, Loss: 0.0018813528586179\n",
      "Epoch: 29170/50000, Loss: 0.0015206740936264\n",
      "Epoch: 29180/50000, Loss: 0.0013940110802650\n",
      "Epoch: 29190/50000, Loss: 0.0013537798076868\n",
      "Epoch: 29200/50000, Loss: 0.0013464424991980\n",
      "Epoch: 29210/50000, Loss: 0.0013588503934443\n",
      "Epoch: 29220/50000, Loss: 0.0017585966270417\n",
      "Epoch: 29230/50000, Loss: 0.0014703937340528\n",
      "Epoch: 29240/50000, Loss: 0.0014491805341095\n",
      "Epoch: 29250/50000, Loss: 0.0013613783521578\n",
      "Epoch: 29260/50000, Loss: 0.0013420657487586\n",
      "Epoch: 29270/50000, Loss: 0.0013430746039376\n",
      "Epoch: 29280/50000, Loss: 0.0013425147626549\n",
      "Epoch: 29290/50000, Loss: 0.0013706107856706\n",
      "Epoch: 29300/50000, Loss: 0.0020490998867899\n",
      "Epoch: 29310/50000, Loss: 0.0014620303409174\n",
      "Epoch: 29320/50000, Loss: 0.0014103375142440\n",
      "Epoch: 29330/50000, Loss: 0.0014372651930898\n",
      "Epoch: 29340/50000, Loss: 0.0013564173132181\n",
      "Epoch: 29350/50000, Loss: 0.0013434998691082\n",
      "Epoch: 29360/50000, Loss: 0.0013542266096920\n",
      "Epoch: 29370/50000, Loss: 0.0014782870421186\n",
      "Epoch: 29380/50000, Loss: 0.0014767749235034\n",
      "Epoch: 29390/50000, Loss: 0.0014242551987991\n",
      "Epoch: 29400/50000, Loss: 0.0013743108138442\n",
      "Epoch: 29410/50000, Loss: 0.0013425963697955\n",
      "Epoch: 29420/50000, Loss: 0.0013450151309371\n",
      "Epoch: 29430/50000, Loss: 0.0014107174938545\n",
      "Epoch: 29440/50000, Loss: 0.0017165022436529\n",
      "Epoch: 29450/50000, Loss: 0.0014722147025168\n",
      "Epoch: 29460/50000, Loss: 0.0013644120190293\n",
      "Epoch: 29470/50000, Loss: 0.0013459338806570\n",
      "Epoch: 29480/50000, Loss: 0.0013449817197397\n",
      "Epoch: 29490/50000, Loss: 0.0013959244824946\n",
      "Epoch: 29500/50000, Loss: 0.0015688471030444\n",
      "Epoch: 29510/50000, Loss: 0.0014032635372132\n",
      "Epoch: 29520/50000, Loss: 0.0013672455679625\n",
      "Epoch: 29530/50000, Loss: 0.0014128835173324\n",
      "Epoch: 29540/50000, Loss: 0.0014274374116212\n",
      "Epoch: 29550/50000, Loss: 0.0013517774641514\n",
      "Epoch: 29560/50000, Loss: 0.0014167322078720\n",
      "Epoch: 29570/50000, Loss: 0.0015705198748037\n",
      "Epoch: 29580/50000, Loss: 0.0014378650812432\n",
      "Epoch: 29590/50000, Loss: 0.0013782428577542\n",
      "Epoch: 29600/50000, Loss: 0.0013712442014366\n",
      "Epoch: 29610/50000, Loss: 0.0015575659926981\n",
      "Epoch: 29620/50000, Loss: 0.0013696305686608\n",
      "Epoch: 29630/50000, Loss: 0.0013901122147217\n",
      "Epoch: 29640/50000, Loss: 0.0013802651083097\n",
      "Epoch: 29650/50000, Loss: 0.0016296237008646\n",
      "Epoch: 29660/50000, Loss: 0.0013845397625118\n",
      "Epoch: 29670/50000, Loss: 0.0013553440803662\n",
      "Epoch: 29680/50000, Loss: 0.0013485492672771\n",
      "Epoch: 29690/50000, Loss: 0.0013705382589251\n",
      "Epoch: 29700/50000, Loss: 0.0014467395376414\n",
      "Epoch: 29710/50000, Loss: 0.0013434978900477\n",
      "Epoch: 29720/50000, Loss: 0.0013733139494434\n",
      "Epoch: 29730/50000, Loss: 0.0014053756603971\n",
      "Epoch: 29740/50000, Loss: 0.0014802615623921\n",
      "Epoch: 29750/50000, Loss: 0.0015086167259142\n",
      "Epoch: 29760/50000, Loss: 0.0014543976867571\n",
      "Epoch: 29770/50000, Loss: 0.0013702551368624\n",
      "Epoch: 29780/50000, Loss: 0.0013374915579334\n",
      "Epoch: 29790/50000, Loss: 0.0013411587569863\n",
      "Epoch: 29800/50000, Loss: 0.0013784602051601\n",
      "Epoch: 29810/50000, Loss: 0.0016303132288158\n",
      "Epoch: 29820/50000, Loss: 0.0014315083390102\n",
      "Epoch: 29830/50000, Loss: 0.0014001361560076\n",
      "Epoch: 29840/50000, Loss: 0.0014403593959287\n",
      "Epoch: 29850/50000, Loss: 0.0013631415786222\n",
      "Epoch: 29860/50000, Loss: 0.0013525374233723\n",
      "Epoch: 29870/50000, Loss: 0.0013974831672385\n",
      "Epoch: 29880/50000, Loss: 0.0016307230107486\n",
      "Epoch: 29890/50000, Loss: 0.0014366257237270\n",
      "Epoch: 29900/50000, Loss: 0.0013413918204606\n",
      "Epoch: 29910/50000, Loss: 0.0013348498614505\n",
      "Epoch: 29920/50000, Loss: 0.0013863064814359\n",
      "Epoch: 29930/50000, Loss: 0.0018055582186207\n",
      "Epoch: 29940/50000, Loss: 0.0014083450660110\n",
      "Epoch: 29950/50000, Loss: 0.0013407245278358\n",
      "Epoch: 29960/50000, Loss: 0.0013459734618664\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 29970/50000, Loss: 0.0013352987589315\n",
      "Epoch: 29980/50000, Loss: 0.0013491205172613\n",
      "Epoch: 29990/50000, Loss: 0.0018922096351162\n",
      "Epoch: 30000/50000, Loss: 0.0015217022737488\n",
      "Epoch: 30010/50000, Loss: 0.0013301776489243\n",
      "Epoch: 30020/50000, Loss: 0.0013582104584202\n",
      "Epoch: 30030/50000, Loss: 0.0013354052789509\n",
      "Epoch: 30040/50000, Loss: 0.0013461171183735\n",
      "Epoch: 30050/50000, Loss: 0.0015459611313418\n",
      "Epoch: 30060/50000, Loss: 0.0013450836995617\n",
      "Epoch: 30070/50000, Loss: 0.0013578159268945\n",
      "Epoch: 30080/50000, Loss: 0.0013405615463853\n",
      "Epoch: 30090/50000, Loss: 0.0013371697859839\n",
      "Epoch: 30100/50000, Loss: 0.0013698794646189\n",
      "Epoch: 30110/50000, Loss: 0.0017748561222106\n",
      "Epoch: 30120/50000, Loss: 0.0015149194514379\n",
      "Epoch: 30130/50000, Loss: 0.0013906806707382\n",
      "Epoch: 30140/50000, Loss: 0.0013367786305025\n",
      "Epoch: 30150/50000, Loss: 0.0013339193537831\n",
      "Epoch: 30160/50000, Loss: 0.0013550604926422\n",
      "Epoch: 30170/50000, Loss: 0.0014933828497306\n",
      "Epoch: 30180/50000, Loss: 0.0013446905650198\n",
      "Epoch: 30190/50000, Loss: 0.0014003908727318\n",
      "Epoch: 30200/50000, Loss: 0.0015732540050521\n",
      "Epoch: 30210/50000, Loss: 0.0014256214490160\n",
      "Epoch: 30220/50000, Loss: 0.0013852792326361\n",
      "Epoch: 30230/50000, Loss: 0.0013346726773307\n",
      "Epoch: 30240/50000, Loss: 0.0013280754210427\n",
      "Epoch: 30250/50000, Loss: 0.0013541682856157\n",
      "Epoch: 30260/50000, Loss: 0.0016577189089730\n",
      "Epoch: 30270/50000, Loss: 0.0013942731311545\n",
      "Epoch: 30280/50000, Loss: 0.0013523363741115\n",
      "Epoch: 30290/50000, Loss: 0.0013642181875184\n",
      "Epoch: 30300/50000, Loss: 0.0016346503980458\n",
      "Epoch: 30310/50000, Loss: 0.0013729766942561\n",
      "Epoch: 30320/50000, Loss: 0.0014512484194711\n",
      "Epoch: 30330/50000, Loss: 0.0013938181800768\n",
      "Epoch: 30340/50000, Loss: 0.0013634524075314\n",
      "Epoch: 30350/50000, Loss: 0.0013394349953160\n",
      "Epoch: 30360/50000, Loss: 0.0013289519120008\n",
      "Epoch: 30370/50000, Loss: 0.0013549182331190\n",
      "Epoch: 30380/50000, Loss: 0.0015500731533393\n",
      "Epoch: 30390/50000, Loss: 0.0013417465379462\n",
      "Epoch: 30400/50000, Loss: 0.0013451671693474\n",
      "Epoch: 30410/50000, Loss: 0.0014734040014446\n",
      "Epoch: 30420/50000, Loss: 0.0013995404588059\n",
      "Epoch: 30430/50000, Loss: 0.0013873351272196\n",
      "Epoch: 30440/50000, Loss: 0.0013319643912837\n",
      "Epoch: 30450/50000, Loss: 0.0013454869622365\n",
      "Epoch: 30460/50000, Loss: 0.0015016047982499\n",
      "Epoch: 30470/50000, Loss: 0.0014940015971661\n",
      "Epoch: 30480/50000, Loss: 0.0013854806311429\n",
      "Epoch: 30490/50000, Loss: 0.0013409752864391\n",
      "Epoch: 30500/50000, Loss: 0.0013280306011438\n",
      "Epoch: 30510/50000, Loss: 0.0013248131144792\n",
      "Epoch: 30520/50000, Loss: 0.0013435148866847\n",
      "Epoch: 30530/50000, Loss: 0.0015472649829462\n",
      "Epoch: 30540/50000, Loss: 0.0014796156901866\n",
      "Epoch: 30550/50000, Loss: 0.0013628216693178\n",
      "Epoch: 30560/50000, Loss: 0.0013485449599102\n",
      "Epoch: 30570/50000, Loss: 0.0013341071316972\n",
      "Epoch: 30580/50000, Loss: 0.0013815953861922\n",
      "Epoch: 30590/50000, Loss: 0.0015236644539982\n",
      "Epoch: 30600/50000, Loss: 0.0014623117167503\n",
      "Epoch: 30610/50000, Loss: 0.0013531533768401\n",
      "Epoch: 30620/50000, Loss: 0.0013569884467870\n",
      "Epoch: 30630/50000, Loss: 0.0013189833844081\n",
      "Epoch: 30640/50000, Loss: 0.0013256532838568\n",
      "Epoch: 30650/50000, Loss: 0.0013250580523163\n",
      "Epoch: 30660/50000, Loss: 0.0014219565782696\n",
      "Epoch: 30670/50000, Loss: 0.0016127758426592\n",
      "Epoch: 30680/50000, Loss: 0.0014384021051228\n",
      "Epoch: 30690/50000, Loss: 0.0014321156777442\n",
      "Epoch: 30700/50000, Loss: 0.0013387841172516\n",
      "Epoch: 30710/50000, Loss: 0.0013553340686485\n",
      "Epoch: 30720/50000, Loss: 0.0013744760071859\n",
      "Epoch: 30730/50000, Loss: 0.0014486837899312\n",
      "Epoch: 30740/50000, Loss: 0.0013919214252383\n",
      "Epoch: 30750/50000, Loss: 0.0013548352289945\n",
      "Epoch: 30760/50000, Loss: 0.0013481923379004\n",
      "Epoch: 30770/50000, Loss: 0.0014190678484738\n",
      "Epoch: 30780/50000, Loss: 0.0014307661913335\n",
      "Epoch: 30790/50000, Loss: 0.0013370241504163\n",
      "Epoch: 30800/50000, Loss: 0.0013400730676949\n",
      "Epoch: 30810/50000, Loss: 0.0013359644217417\n",
      "Epoch: 30820/50000, Loss: 0.0015757197979838\n",
      "Epoch: 30830/50000, Loss: 0.0013815502170473\n",
      "Epoch: 30840/50000, Loss: 0.0014009015867487\n",
      "Epoch: 30850/50000, Loss: 0.0013992134481668\n",
      "Epoch: 30860/50000, Loss: 0.0013787701027468\n",
      "Epoch: 30870/50000, Loss: 0.0013852278934792\n",
      "Epoch: 30880/50000, Loss: 0.0013508824631572\n",
      "Epoch: 30890/50000, Loss: 0.0014513650676236\n",
      "Epoch: 30900/50000, Loss: 0.0013685688609257\n",
      "Epoch: 30910/50000, Loss: 0.0013505684910342\n",
      "Epoch: 30920/50000, Loss: 0.0014096280792728\n",
      "Epoch: 30930/50000, Loss: 0.0014490641187876\n",
      "Epoch: 30940/50000, Loss: 0.0014201843878254\n",
      "Epoch: 30950/50000, Loss: 0.0013487316900864\n",
      "Epoch: 30960/50000, Loss: 0.0013265759916976\n",
      "Epoch: 30970/50000, Loss: 0.0013236243976280\n",
      "Epoch: 30980/50000, Loss: 0.0013752148952335\n",
      "Epoch: 30990/50000, Loss: 0.0015783341368660\n",
      "Epoch: 31000/50000, Loss: 0.0013954599853605\n",
      "Epoch: 31010/50000, Loss: 0.0013344899052754\n",
      "Epoch: 31020/50000, Loss: 0.0013201641850173\n",
      "Epoch: 31030/50000, Loss: 0.0013221190311015\n",
      "Epoch: 31040/50000, Loss: 0.0013895835727453\n",
      "Epoch: 31050/50000, Loss: 0.0015512647805735\n",
      "Epoch: 31060/50000, Loss: 0.0015944918850437\n",
      "Epoch: 31070/50000, Loss: 0.0016194353811443\n",
      "Epoch: 31080/50000, Loss: 0.0014065443538129\n",
      "Epoch: 31090/50000, Loss: 0.0013454090803862\n",
      "Epoch: 31100/50000, Loss: 0.0013210464967415\n",
      "Epoch: 31110/50000, Loss: 0.0013099620118737\n",
      "Epoch: 31120/50000, Loss: 0.0013064387021586\n",
      "Epoch: 31130/50000, Loss: 0.0013084190431982\n",
      "Epoch: 31140/50000, Loss: 0.0014095131773502\n",
      "Epoch: 31150/50000, Loss: 0.0015501881716773\n",
      "Epoch: 31160/50000, Loss: 0.0013487674295902\n",
      "Epoch: 31170/50000, Loss: 0.0013270957861096\n",
      "Epoch: 31180/50000, Loss: 0.0013164408737794\n",
      "Epoch: 31190/50000, Loss: 0.0013083514058962\n",
      "Epoch: 31200/50000, Loss: 0.0013394508277997\n",
      "Epoch: 31210/50000, Loss: 0.0019457828020677\n",
      "Epoch: 31220/50000, Loss: 0.0014999983832240\n",
      "Epoch: 31230/50000, Loss: 0.0013379547744989\n",
      "Epoch: 31240/50000, Loss: 0.0013150690356269\n",
      "Epoch: 31250/50000, Loss: 0.0013404578203335\n",
      "Epoch: 31260/50000, Loss: 0.0016399552114308\n",
      "Epoch: 31270/50000, Loss: 0.0013739404967055\n",
      "Epoch: 31280/50000, Loss: 0.0013235453516245\n",
      "Epoch: 31290/50000, Loss: 0.0013083551311865\n",
      "Epoch: 31300/50000, Loss: 0.0013074458111078\n",
      "Epoch: 31310/50000, Loss: 0.0013196920044720\n",
      "Epoch: 31320/50000, Loss: 0.0016144908731803\n",
      "Epoch: 31330/50000, Loss: 0.0013502974761650\n",
      "Epoch: 31340/50000, Loss: 0.0013297805562615\n",
      "Epoch: 31350/50000, Loss: 0.0013186512514949\n",
      "Epoch: 31360/50000, Loss: 0.0013112818123773\n",
      "Epoch: 31370/50000, Loss: 0.0013625319115818\n",
      "Epoch: 31380/50000, Loss: 0.0016566448612139\n",
      "Epoch: 31390/50000, Loss: 0.0014177329139784\n",
      "Epoch: 31400/50000, Loss: 0.0013323765015230\n",
      "Epoch: 31410/50000, Loss: 0.0013136528432369\n",
      "Epoch: 31420/50000, Loss: 0.0013065752573311\n",
      "Epoch: 31430/50000, Loss: 0.0013537901686504\n",
      "Epoch: 31440/50000, Loss: 0.0021038628183305\n",
      "Epoch: 31450/50000, Loss: 0.0014456150820479\n",
      "Epoch: 31460/50000, Loss: 0.0013399517629296\n",
      "Epoch: 31470/50000, Loss: 0.0013232502387837\n",
      "Epoch: 31480/50000, Loss: 0.0013065618695691\n",
      "Epoch: 31490/50000, Loss: 0.0012985649518669\n",
      "Epoch: 31500/50000, Loss: 0.0012987260706723\n",
      "Epoch: 31510/50000, Loss: 0.0013010451802984\n",
      "Epoch: 31520/50000, Loss: 0.0013832515105605\n",
      "Epoch: 31530/50000, Loss: 0.0015626172535121\n",
      "Epoch: 31540/50000, Loss: 0.0013545178808272\n",
      "Epoch: 31550/50000, Loss: 0.0013190694153309\n",
      "Epoch: 31560/50000, Loss: 0.0013211251934990\n",
      "Epoch: 31570/50000, Loss: 0.0013146228156984\n",
      "Epoch: 31580/50000, Loss: 0.0015684536192566\n",
      "Epoch: 31590/50000, Loss: 0.0013688845792785\n",
      "Epoch: 31600/50000, Loss: 0.0013449739199132\n",
      "Epoch: 31610/50000, Loss: 0.0013274356024340\n",
      "Epoch: 31620/50000, Loss: 0.0015150458784774\n",
      "Epoch: 31630/50000, Loss: 0.0013346070190892\n",
      "Epoch: 31640/50000, Loss: 0.0013166816206649\n",
      "Epoch: 31650/50000, Loss: 0.0013054186711088\n",
      "Epoch: 31660/50000, Loss: 0.0013062020298094\n",
      "Epoch: 31670/50000, Loss: 0.0013262780848891\n",
      "Epoch: 31680/50000, Loss: 0.0016134710749611\n",
      "Epoch: 31690/50000, Loss: 0.0013564048567787\n",
      "Epoch: 31700/50000, Loss: 0.0013141188537702\n",
      "Epoch: 31710/50000, Loss: 0.0012997753219679\n",
      "Epoch: 31720/50000, Loss: 0.0013016791781411\n",
      "Epoch: 31730/50000, Loss: 0.0014100369298831\n",
      "Epoch: 31740/50000, Loss: 0.0014399798819795\n",
      "Epoch: 31750/50000, Loss: 0.0014227520441636\n",
      "Epoch: 31760/50000, Loss: 0.0014783883234486\n",
      "Epoch: 31770/50000, Loss: 0.0013110298896208\n",
      "Epoch: 31780/50000, Loss: 0.0013205639552325\n",
      "Epoch: 31790/50000, Loss: 0.0012969076633453\n",
      "Epoch: 31800/50000, Loss: 0.0013170382007957\n",
      "Epoch: 31810/50000, Loss: 0.0015589493559673\n",
      "Epoch: 31820/50000, Loss: 0.0013156253844500\n",
      "Epoch: 31830/50000, Loss: 0.0013137388741598\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 31840/50000, Loss: 0.0013128217542544\n",
      "Epoch: 31850/50000, Loss: 0.0013988261343911\n",
      "Epoch: 31860/50000, Loss: 0.0015849088085815\n",
      "Epoch: 31870/50000, Loss: 0.0014089137548581\n",
      "Epoch: 31880/50000, Loss: 0.0013276784447953\n",
      "Epoch: 31890/50000, Loss: 0.0013005303917453\n",
      "Epoch: 31900/50000, Loss: 0.0013002605410293\n",
      "Epoch: 31910/50000, Loss: 0.0014265823410824\n",
      "Epoch: 31920/50000, Loss: 0.0014921404654160\n",
      "Epoch: 31930/50000, Loss: 0.0013561088126153\n",
      "Epoch: 31940/50000, Loss: 0.0013120637740940\n",
      "Epoch: 31950/50000, Loss: 0.0012939614243805\n",
      "Epoch: 31960/50000, Loss: 0.0012924403417856\n",
      "Epoch: 31970/50000, Loss: 0.0012961111497134\n",
      "Epoch: 31980/50000, Loss: 0.0013328747591004\n",
      "Epoch: 31990/50000, Loss: 0.0015269945142791\n",
      "Epoch: 32000/50000, Loss: 0.0013912938302383\n",
      "Epoch: 32010/50000, Loss: 0.0015287512214854\n",
      "Epoch: 32020/50000, Loss: 0.0013452176935971\n",
      "Epoch: 32030/50000, Loss: 0.0013485475210473\n",
      "Epoch: 32040/50000, Loss: 0.0015110598178580\n",
      "Epoch: 32050/50000, Loss: 0.0013116983463988\n",
      "Epoch: 32060/50000, Loss: 0.0013006991939619\n",
      "Epoch: 32070/50000, Loss: 0.0013018023455516\n",
      "Epoch: 32080/50000, Loss: 0.0013449548278004\n",
      "Epoch: 32090/50000, Loss: 0.0016888919053599\n",
      "Epoch: 32100/50000, Loss: 0.0013421431649476\n",
      "Epoch: 32110/50000, Loss: 0.0013089213753119\n",
      "Epoch: 32120/50000, Loss: 0.0013067945837975\n",
      "Epoch: 32130/50000, Loss: 0.0012972387485206\n",
      "Epoch: 32140/50000, Loss: 0.0013502500951290\n",
      "Epoch: 32150/50000, Loss: 0.0015661929501221\n",
      "Epoch: 32160/50000, Loss: 0.0014109309995547\n",
      "Epoch: 32170/50000, Loss: 0.0013946443796158\n",
      "Epoch: 32180/50000, Loss: 0.0013968393905088\n",
      "Epoch: 32190/50000, Loss: 0.0013516993494704\n",
      "Epoch: 32200/50000, Loss: 0.0013721436262131\n",
      "Epoch: 32210/50000, Loss: 0.0013283708831295\n",
      "Epoch: 32220/50000, Loss: 0.0013074261369184\n",
      "Epoch: 32230/50000, Loss: 0.0013029506662861\n",
      "Epoch: 32240/50000, Loss: 0.0013578812358901\n",
      "Epoch: 32250/50000, Loss: 0.0015314881457016\n",
      "Epoch: 32260/50000, Loss: 0.0016304277814925\n",
      "Epoch: 32270/50000, Loss: 0.0013987970305607\n",
      "Epoch: 32280/50000, Loss: 0.0013280251296237\n",
      "Epoch: 32290/50000, Loss: 0.0012948093935847\n",
      "Epoch: 32300/50000, Loss: 0.0012930631637573\n",
      "Epoch: 32310/50000, Loss: 0.0014605844626203\n",
      "Epoch: 32320/50000, Loss: 0.0013265860034153\n",
      "Epoch: 32330/50000, Loss: 0.0013160215457901\n",
      "Epoch: 32340/50000, Loss: 0.0013024795334786\n",
      "Epoch: 32350/50000, Loss: 0.0013326789485291\n",
      "Epoch: 32360/50000, Loss: 0.0014631930971518\n",
      "Epoch: 32370/50000, Loss: 0.0013863542117178\n",
      "Epoch: 32380/50000, Loss: 0.0013236339436844\n",
      "Epoch: 32390/50000, Loss: 0.0013224895810708\n",
      "Epoch: 32400/50000, Loss: 0.0013726158067584\n",
      "Epoch: 32410/50000, Loss: 0.0014270141255111\n",
      "Epoch: 32420/50000, Loss: 0.0013893976574764\n",
      "Epoch: 32430/50000, Loss: 0.0013014676515013\n",
      "Epoch: 32440/50000, Loss: 0.0012973835691810\n",
      "Epoch: 32450/50000, Loss: 0.0013060319470242\n",
      "Epoch: 32460/50000, Loss: 0.0015264746034518\n",
      "Epoch: 32470/50000, Loss: 0.0013673698995262\n",
      "Epoch: 32480/50000, Loss: 0.0013247878523543\n",
      "Epoch: 32490/50000, Loss: 0.0013008891837671\n",
      "Epoch: 32500/50000, Loss: 0.0013019267935306\n",
      "Epoch: 32510/50000, Loss: 0.0013230028562248\n",
      "Epoch: 32520/50000, Loss: 0.0015384594444185\n",
      "Epoch: 32530/50000, Loss: 0.0013516064500436\n",
      "Epoch: 32540/50000, Loss: 0.0013703535078093\n",
      "Epoch: 32550/50000, Loss: 0.0013815100537613\n",
      "Epoch: 32560/50000, Loss: 0.0014211082598194\n",
      "Epoch: 32570/50000, Loss: 0.0013313870877028\n",
      "Epoch: 32580/50000, Loss: 0.0012912966776639\n",
      "Epoch: 32590/50000, Loss: 0.0012896327534690\n",
      "Epoch: 32600/50000, Loss: 0.0013023164356127\n",
      "Epoch: 32610/50000, Loss: 0.0015976922586560\n",
      "Epoch: 32620/50000, Loss: 0.0014142385916784\n",
      "Epoch: 32630/50000, Loss: 0.0013181462418288\n",
      "Epoch: 32640/50000, Loss: 0.0012925602495670\n",
      "Epoch: 32650/50000, Loss: 0.0012848683400080\n",
      "Epoch: 32660/50000, Loss: 0.0012833396904171\n",
      "Epoch: 32670/50000, Loss: 0.0013081561774015\n",
      "Epoch: 32680/50000, Loss: 0.0014952103374526\n",
      "Epoch: 32690/50000, Loss: 0.0014083633432165\n",
      "Epoch: 32700/50000, Loss: 0.0013095177710056\n",
      "Epoch: 32710/50000, Loss: 0.0013887777458876\n",
      "Epoch: 32720/50000, Loss: 0.0014084333088249\n",
      "Epoch: 32730/50000, Loss: 0.0013080803910270\n",
      "Epoch: 32740/50000, Loss: 0.0013939243508503\n",
      "Epoch: 32750/50000, Loss: 0.0013866017106920\n",
      "Epoch: 32760/50000, Loss: 0.0013361616292968\n",
      "Epoch: 32770/50000, Loss: 0.0012830632040277\n",
      "Epoch: 32780/50000, Loss: 0.0012940390734002\n",
      "Epoch: 32790/50000, Loss: 0.0013132337480783\n",
      "Epoch: 32800/50000, Loss: 0.0015657548792660\n",
      "Epoch: 32810/50000, Loss: 0.0014480113750324\n",
      "Epoch: 32820/50000, Loss: 0.0013306679902598\n",
      "Epoch: 32830/50000, Loss: 0.0012967647053301\n",
      "Epoch: 32840/50000, Loss: 0.0013015326112509\n",
      "Epoch: 32850/50000, Loss: 0.0013649776810780\n",
      "Epoch: 32860/50000, Loss: 0.0013502886286005\n",
      "Epoch: 32870/50000, Loss: 0.0013073602458462\n",
      "Epoch: 32880/50000, Loss: 0.0014225805643946\n",
      "Epoch: 32890/50000, Loss: 0.0013259890256450\n",
      "Epoch: 32900/50000, Loss: 0.0013227636227384\n",
      "Epoch: 32910/50000, Loss: 0.0013060508063063\n",
      "Epoch: 32920/50000, Loss: 0.0013551505981013\n",
      "Epoch: 32930/50000, Loss: 0.0014403674285859\n",
      "Epoch: 32940/50000, Loss: 0.0014015987981111\n",
      "Epoch: 32950/50000, Loss: 0.0013866195222363\n",
      "Epoch: 32960/50000, Loss: 0.0014482174301520\n",
      "Epoch: 32970/50000, Loss: 0.0013078870251775\n",
      "Epoch: 32980/50000, Loss: 0.0013101386139169\n",
      "Epoch: 32990/50000, Loss: 0.0014705678913742\n",
      "Epoch: 33000/50000, Loss: 0.0012989577371627\n",
      "Epoch: 33010/50000, Loss: 0.0013069168198854\n",
      "Epoch: 33020/50000, Loss: 0.0013122286181897\n",
      "Epoch: 33030/50000, Loss: 0.0014566566096619\n",
      "Epoch: 33040/50000, Loss: 0.0013114553876221\n",
      "Epoch: 33050/50000, Loss: 0.0013493079459295\n",
      "Epoch: 33060/50000, Loss: 0.0013785315677524\n",
      "Epoch: 33070/50000, Loss: 0.0014451770111918\n",
      "Epoch: 33080/50000, Loss: 0.0013301847502589\n",
      "Epoch: 33090/50000, Loss: 0.0013564912369475\n",
      "Epoch: 33100/50000, Loss: 0.0013265095185488\n",
      "Epoch: 33110/50000, Loss: 0.0013109396677464\n",
      "Epoch: 33120/50000, Loss: 0.0013312608934939\n",
      "Epoch: 33130/50000, Loss: 0.0013241958804429\n",
      "Epoch: 33140/50000, Loss: 0.0012858323752880\n",
      "Epoch: 33150/50000, Loss: 0.0014987293398008\n",
      "Epoch: 33160/50000, Loss: 0.0013024581130594\n",
      "Epoch: 33170/50000, Loss: 0.0013711843639612\n",
      "Epoch: 33180/50000, Loss: 0.0013305280590430\n",
      "Epoch: 33190/50000, Loss: 0.0014403727836907\n",
      "Epoch: 33200/50000, Loss: 0.0013133701868355\n",
      "Epoch: 33210/50000, Loss: 0.0013275353703648\n",
      "Epoch: 33220/50000, Loss: 0.0013036474119872\n",
      "Epoch: 33230/50000, Loss: 0.0013197635998949\n",
      "Epoch: 33240/50000, Loss: 0.0014184267492965\n",
      "Epoch: 33250/50000, Loss: 0.0013002350460738\n",
      "Epoch: 33260/50000, Loss: 0.0013017237652093\n",
      "Epoch: 33270/50000, Loss: 0.0012973366538063\n",
      "Epoch: 33280/50000, Loss: 0.0014389182906598\n",
      "Epoch: 33290/50000, Loss: 0.0014632084639743\n",
      "Epoch: 33300/50000, Loss: 0.0012945490889251\n",
      "Epoch: 33310/50000, Loss: 0.0012817153474316\n",
      "Epoch: 33320/50000, Loss: 0.0012791049666703\n",
      "Epoch: 33330/50000, Loss: 0.0012725980486721\n",
      "Epoch: 33340/50000, Loss: 0.0012724017724395\n",
      "Epoch: 33350/50000, Loss: 0.0013452768325806\n",
      "Epoch: 33360/50000, Loss: 0.0015623156214133\n",
      "Epoch: 33370/50000, Loss: 0.0013550790026784\n",
      "Epoch: 33380/50000, Loss: 0.0013251595664769\n",
      "Epoch: 33390/50000, Loss: 0.0015703154494986\n",
      "Epoch: 33400/50000, Loss: 0.0013423599302769\n",
      "Epoch: 33410/50000, Loss: 0.0012885575415567\n",
      "Epoch: 33420/50000, Loss: 0.0012825396843255\n",
      "Epoch: 33430/50000, Loss: 0.0012943585170433\n",
      "Epoch: 33440/50000, Loss: 0.0013848152011633\n",
      "Epoch: 33450/50000, Loss: 0.0013257417595014\n",
      "Epoch: 33460/50000, Loss: 0.0013070609420538\n",
      "Epoch: 33470/50000, Loss: 0.0012753028422594\n",
      "Epoch: 33480/50000, Loss: 0.0014612802769989\n",
      "Epoch: 33490/50000, Loss: 0.0013166627613828\n",
      "Epoch: 33500/50000, Loss: 0.0013426252407953\n",
      "Epoch: 33510/50000, Loss: 0.0013798000290990\n",
      "Epoch: 33520/50000, Loss: 0.0012839605333284\n",
      "Epoch: 33530/50000, Loss: 0.0012932097306475\n",
      "Epoch: 33540/50000, Loss: 0.0013318958226591\n",
      "Epoch: 33550/50000, Loss: 0.0014031478203833\n",
      "Epoch: 33560/50000, Loss: 0.0012783991405740\n",
      "Epoch: 33570/50000, Loss: 0.0013731945073232\n",
      "Epoch: 33580/50000, Loss: 0.0014696319121867\n",
      "Epoch: 33590/50000, Loss: 0.0013561835512519\n",
      "Epoch: 33600/50000, Loss: 0.0012829103507102\n",
      "Epoch: 33610/50000, Loss: 0.0012737762881443\n",
      "Epoch: 33620/50000, Loss: 0.0013541786465794\n",
      "Epoch: 33630/50000, Loss: 0.0015856612008065\n",
      "Epoch: 33640/50000, Loss: 0.0014065215364099\n",
      "Epoch: 33650/50000, Loss: 0.0013209158787504\n",
      "Epoch: 33660/50000, Loss: 0.0013001485494897\n",
      "Epoch: 33670/50000, Loss: 0.0013672506902367\n",
      "Epoch: 33680/50000, Loss: 0.0013967464910820\n",
      "Epoch: 33690/50000, Loss: 0.0014102073619142\n",
      "Epoch: 33700/50000, Loss: 0.0013252170756459\n",
      "Epoch: 33710/50000, Loss: 0.0012946751667187\n",
      "Epoch: 33720/50000, Loss: 0.0014336751773953\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 33730/50000, Loss: 0.0012986728688702\n",
      "Epoch: 33740/50000, Loss: 0.0012900794390589\n",
      "Epoch: 33750/50000, Loss: 0.0012901617446914\n",
      "Epoch: 33760/50000, Loss: 0.0013398193987086\n",
      "Epoch: 33770/50000, Loss: 0.0014431840972975\n",
      "Epoch: 33780/50000, Loss: 0.0013346344931051\n",
      "Epoch: 33790/50000, Loss: 0.0015959901502356\n",
      "Epoch: 33800/50000, Loss: 0.0013439193135127\n",
      "Epoch: 33810/50000, Loss: 0.0013123927637935\n",
      "Epoch: 33820/50000, Loss: 0.0012876690598205\n",
      "Epoch: 33830/50000, Loss: 0.0012846281751990\n",
      "Epoch: 33840/50000, Loss: 0.0013769580982625\n",
      "Epoch: 33850/50000, Loss: 0.0014042881084606\n",
      "Epoch: 33860/50000, Loss: 0.0013084502425045\n",
      "Epoch: 33870/50000, Loss: 0.0012786444276571\n",
      "Epoch: 33880/50000, Loss: 0.0012744147097692\n",
      "Epoch: 33890/50000, Loss: 0.0013357931748033\n",
      "Epoch: 33900/50000, Loss: 0.0015006908215582\n",
      "Epoch: 33910/50000, Loss: 0.0013503830414265\n",
      "Epoch: 33920/50000, Loss: 0.0012929667718709\n",
      "Epoch: 33930/50000, Loss: 0.0013127793790773\n",
      "Epoch: 33940/50000, Loss: 0.0014091893099248\n",
      "Epoch: 33950/50000, Loss: 0.0013379100710154\n",
      "Epoch: 33960/50000, Loss: 0.0013832252006978\n",
      "Epoch: 33970/50000, Loss: 0.0013360265875235\n",
      "Epoch: 33980/50000, Loss: 0.0012728982837871\n",
      "Epoch: 33990/50000, Loss: 0.0012748357839882\n",
      "Epoch: 34000/50000, Loss: 0.0013302686857060\n",
      "Epoch: 34010/50000, Loss: 0.0015150585677475\n",
      "Epoch: 34020/50000, Loss: 0.0013951084110886\n",
      "Epoch: 34030/50000, Loss: 0.0012939549051225\n",
      "Epoch: 34040/50000, Loss: 0.0012786790030077\n",
      "Epoch: 34050/50000, Loss: 0.0013251876225695\n",
      "Epoch: 34060/50000, Loss: 0.0014764908701181\n",
      "Epoch: 34070/50000, Loss: 0.0013360015582293\n",
      "Epoch: 34080/50000, Loss: 0.0013384537305683\n",
      "Epoch: 34090/50000, Loss: 0.0013623837148771\n",
      "Epoch: 34100/50000, Loss: 0.0012870796490461\n",
      "Epoch: 34110/50000, Loss: 0.0012705090921372\n",
      "Epoch: 34120/50000, Loss: 0.0013159223599359\n",
      "Epoch: 34130/50000, Loss: 0.0016493736766279\n",
      "Epoch: 34140/50000, Loss: 0.0013533143792301\n",
      "Epoch: 34150/50000, Loss: 0.0012734830379486\n",
      "Epoch: 34160/50000, Loss: 0.0012596439337358\n",
      "Epoch: 34170/50000, Loss: 0.0012795705115423\n",
      "Epoch: 34180/50000, Loss: 0.0014607572229579\n",
      "Epoch: 34190/50000, Loss: 0.0013126296689734\n",
      "Epoch: 34200/50000, Loss: 0.0013091227738187\n",
      "Epoch: 34210/50000, Loss: 0.0012973606353626\n",
      "Epoch: 34220/50000, Loss: 0.0013320504222065\n",
      "Epoch: 34230/50000, Loss: 0.0014403552049771\n",
      "Epoch: 34240/50000, Loss: 0.0013901373604313\n",
      "Epoch: 34250/50000, Loss: 0.0013011539122090\n",
      "Epoch: 34260/50000, Loss: 0.0012986847432330\n",
      "Epoch: 34270/50000, Loss: 0.0012874928070232\n",
      "Epoch: 34280/50000, Loss: 0.0013907480752096\n",
      "Epoch: 34290/50000, Loss: 0.0013513242593035\n",
      "Epoch: 34300/50000, Loss: 0.0013109423452988\n",
      "Epoch: 34310/50000, Loss: 0.0012947949580848\n",
      "Epoch: 34320/50000, Loss: 0.0014824731042609\n",
      "Epoch: 34330/50000, Loss: 0.0012981645995751\n",
      "Epoch: 34340/50000, Loss: 0.0012911410303786\n",
      "Epoch: 34350/50000, Loss: 0.0012820846168324\n",
      "Epoch: 34360/50000, Loss: 0.0012861674185842\n",
      "Epoch: 34370/50000, Loss: 0.0014799502678216\n",
      "Epoch: 34380/50000, Loss: 0.0013128907885402\n",
      "Epoch: 34390/50000, Loss: 0.0013881265185773\n",
      "Epoch: 34400/50000, Loss: 0.0013112251181155\n",
      "Epoch: 34410/50000, Loss: 0.0013143207179382\n",
      "Epoch: 34420/50000, Loss: 0.0013307625195011\n",
      "Epoch: 34430/50000, Loss: 0.0012836991809309\n",
      "Epoch: 34440/50000, Loss: 0.0013551563024521\n",
      "Epoch: 34450/50000, Loss: 0.0013959289062768\n",
      "Epoch: 34460/50000, Loss: 0.0014873509062454\n",
      "Epoch: 34470/50000, Loss: 0.0012912210077047\n",
      "Epoch: 34480/50000, Loss: 0.0013245982117951\n",
      "Epoch: 34490/50000, Loss: 0.0013474584557116\n",
      "Epoch: 34500/50000, Loss: 0.0012584170326591\n",
      "Epoch: 34510/50000, Loss: 0.0013523760717362\n",
      "Epoch: 34520/50000, Loss: 0.0014922954142094\n",
      "Epoch: 34530/50000, Loss: 0.0013604664709419\n",
      "Epoch: 34540/50000, Loss: 0.0013276666868478\n",
      "Epoch: 34550/50000, Loss: 0.0013091213768348\n",
      "Epoch: 34560/50000, Loss: 0.0013021301710978\n",
      "Epoch: 34570/50000, Loss: 0.0013024780200794\n",
      "Epoch: 34580/50000, Loss: 0.0013016897719353\n",
      "Epoch: 34590/50000, Loss: 0.0013380465097725\n",
      "Epoch: 34600/50000, Loss: 0.0014488893793896\n",
      "Epoch: 34610/50000, Loss: 0.0014124772278592\n",
      "Epoch: 34620/50000, Loss: 0.0012962152250111\n",
      "Epoch: 34630/50000, Loss: 0.0013328794157133\n",
      "Epoch: 34640/50000, Loss: 0.0013857217272744\n",
      "Epoch: 34650/50000, Loss: 0.0012566274963319\n",
      "Epoch: 34660/50000, Loss: 0.0012841245625168\n",
      "Epoch: 34670/50000, Loss: 0.0013131898595020\n",
      "Epoch: 34680/50000, Loss: 0.0014446857385337\n",
      "Epoch: 34690/50000, Loss: 0.0013896188465878\n",
      "Epoch: 34700/50000, Loss: 0.0012656198814511\n",
      "Epoch: 34710/50000, Loss: 0.0012695373734459\n",
      "Epoch: 34720/50000, Loss: 0.0012893583625555\n",
      "Epoch: 34730/50000, Loss: 0.0015781215624884\n",
      "Epoch: 34740/50000, Loss: 0.0013282230356708\n",
      "Epoch: 34750/50000, Loss: 0.0013002380728722\n",
      "Epoch: 34760/50000, Loss: 0.0013120443327352\n",
      "Epoch: 34770/50000, Loss: 0.0014809244312346\n",
      "Epoch: 34780/50000, Loss: 0.0012905823532492\n",
      "Epoch: 34790/50000, Loss: 0.0012787528103217\n",
      "Epoch: 34800/50000, Loss: 0.0012986470246688\n",
      "Epoch: 34810/50000, Loss: 0.0014782070647925\n",
      "Epoch: 34820/50000, Loss: 0.0012930682860315\n",
      "Epoch: 34830/50000, Loss: 0.0012944702757522\n",
      "Epoch: 34840/50000, Loss: 0.0012558327289298\n",
      "Epoch: 34850/50000, Loss: 0.0012764263665304\n",
      "Epoch: 34860/50000, Loss: 0.0014367906842381\n",
      "Epoch: 34870/50000, Loss: 0.0014009890146554\n",
      "Epoch: 34880/50000, Loss: 0.0013015221338719\n",
      "Epoch: 34890/50000, Loss: 0.0012655965983868\n",
      "Epoch: 34900/50000, Loss: 0.0013283553998917\n",
      "Epoch: 34910/50000, Loss: 0.0014268588274717\n",
      "Epoch: 34920/50000, Loss: 0.0013257759856060\n",
      "Epoch: 34930/50000, Loss: 0.0013126723933965\n",
      "Epoch: 34940/50000, Loss: 0.0013107461854815\n",
      "Epoch: 34950/50000, Loss: 0.0012850895291194\n",
      "Epoch: 34960/50000, Loss: 0.0013896251330152\n",
      "Epoch: 34970/50000, Loss: 0.0013008224777877\n",
      "Epoch: 34980/50000, Loss: 0.0013199676759541\n",
      "Epoch: 34990/50000, Loss: 0.0013570891460404\n",
      "Epoch: 35000/50000, Loss: 0.0013336730189621\n",
      "Epoch: 35010/50000, Loss: 0.0014205577317625\n",
      "Epoch: 35020/50000, Loss: 0.0012821868294850\n",
      "Epoch: 35030/50000, Loss: 0.0012507822830230\n",
      "Epoch: 35040/50000, Loss: 0.0012595773441717\n",
      "Epoch: 35050/50000, Loss: 0.0014105761656538\n",
      "Epoch: 35060/50000, Loss: 0.0013343830360100\n",
      "Epoch: 35070/50000, Loss: 0.0013133023167029\n",
      "Epoch: 35080/50000, Loss: 0.0013104361714795\n",
      "Epoch: 35090/50000, Loss: 0.0012865011813119\n",
      "Epoch: 35100/50000, Loss: 0.0012746718712151\n",
      "Epoch: 35110/50000, Loss: 0.0012949189404026\n",
      "Epoch: 35120/50000, Loss: 0.0014024635311216\n",
      "Epoch: 35130/50000, Loss: 0.0014829637948424\n",
      "Epoch: 35140/50000, Loss: 0.0013159282971174\n",
      "Epoch: 35150/50000, Loss: 0.0013023409992456\n",
      "Epoch: 35160/50000, Loss: 0.0012956026475877\n",
      "Epoch: 35170/50000, Loss: 0.0013077979674563\n",
      "Epoch: 35180/50000, Loss: 0.0013259968254715\n",
      "Epoch: 35190/50000, Loss: 0.0012636787723750\n",
      "Epoch: 35200/50000, Loss: 0.0013549004215747\n",
      "Epoch: 35210/50000, Loss: 0.0013597042998299\n",
      "Epoch: 35220/50000, Loss: 0.0013025481021032\n",
      "Epoch: 35230/50000, Loss: 0.0012510288506746\n",
      "Epoch: 35240/50000, Loss: 0.0013050782727078\n",
      "Epoch: 35250/50000, Loss: 0.0015842732973397\n",
      "Epoch: 35260/50000, Loss: 0.0013492617290467\n",
      "Epoch: 35270/50000, Loss: 0.0013240397674963\n",
      "Epoch: 35280/50000, Loss: 0.0014103397261351\n",
      "Epoch: 35290/50000, Loss: 0.0012898942222819\n",
      "Epoch: 35300/50000, Loss: 0.0012711891904473\n",
      "Epoch: 35310/50000, Loss: 0.0015418613329530\n",
      "Epoch: 35320/50000, Loss: 0.0013032782590017\n",
      "Epoch: 35330/50000, Loss: 0.0012796863447875\n",
      "Epoch: 35340/50000, Loss: 0.0012552535627037\n",
      "Epoch: 35350/50000, Loss: 0.0012455651303753\n",
      "Epoch: 35360/50000, Loss: 0.0012611937709153\n",
      "Epoch: 35370/50000, Loss: 0.0017700316384435\n",
      "Epoch: 35380/50000, Loss: 0.0015739600639790\n",
      "Epoch: 35390/50000, Loss: 0.0012885581236333\n",
      "Epoch: 35400/50000, Loss: 0.0012564522912726\n",
      "Epoch: 35410/50000, Loss: 0.0012522366596386\n",
      "Epoch: 35420/50000, Loss: 0.0012455937685445\n",
      "Epoch: 35430/50000, Loss: 0.0013023852370679\n",
      "Epoch: 35440/50000, Loss: 0.0015872460789979\n",
      "Epoch: 35450/50000, Loss: 0.0013414340792224\n",
      "Epoch: 35460/50000, Loss: 0.0012733143521473\n",
      "Epoch: 35470/50000, Loss: 0.0012547933729365\n",
      "Epoch: 35480/50000, Loss: 0.0012784337159246\n",
      "Epoch: 35490/50000, Loss: 0.0017686925129965\n",
      "Epoch: 35500/50000, Loss: 0.0013963070232421\n",
      "Epoch: 35510/50000, Loss: 0.0012911745579913\n",
      "Epoch: 35520/50000, Loss: 0.0012504345504567\n",
      "Epoch: 35530/50000, Loss: 0.0012420788407326\n",
      "Epoch: 35540/50000, Loss: 0.0012403095606714\n",
      "Epoch: 35550/50000, Loss: 0.0012505076592788\n",
      "Epoch: 35560/50000, Loss: 0.0015446260804310\n",
      "Epoch: 35570/50000, Loss: 0.0013018749887124\n",
      "Epoch: 35580/50000, Loss: 0.0013364173937589\n",
      "Epoch: 35590/50000, Loss: 0.0014483203412965\n",
      "Epoch: 35600/50000, Loss: 0.0012746072607115\n",
      "Epoch: 35610/50000, Loss: 0.0012482065940276\n",
      "Epoch: 35620/50000, Loss: 0.0012486422201619\n",
      "Epoch: 35630/50000, Loss: 0.0012477600248531\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 35640/50000, Loss: 0.0013305488973856\n",
      "Epoch: 35650/50000, Loss: 0.0015531994868070\n",
      "Epoch: 35660/50000, Loss: 0.0014030023012310\n",
      "Epoch: 35670/50000, Loss: 0.0013042547507212\n",
      "Epoch: 35680/50000, Loss: 0.0012569543905556\n",
      "Epoch: 35690/50000, Loss: 0.0012485326733440\n",
      "Epoch: 35700/50000, Loss: 0.0012488180072978\n",
      "Epoch: 35710/50000, Loss: 0.0014742719940841\n",
      "Epoch: 35720/50000, Loss: 0.0013804051559418\n",
      "Epoch: 35730/50000, Loss: 0.0012769498862326\n",
      "Epoch: 35740/50000, Loss: 0.0012642329093069\n",
      "Epoch: 35750/50000, Loss: 0.0012652556179091\n",
      "Epoch: 35760/50000, Loss: 0.0014828327111900\n",
      "Epoch: 35770/50000, Loss: 0.0013110196450725\n",
      "Epoch: 35780/50000, Loss: 0.0012611278798431\n",
      "Epoch: 35790/50000, Loss: 0.0012390037300065\n",
      "Epoch: 35800/50000, Loss: 0.0012437088880688\n",
      "Epoch: 35810/50000, Loss: 0.0014014733023942\n",
      "Epoch: 35820/50000, Loss: 0.0014226743951440\n",
      "Epoch: 35830/50000, Loss: 0.0012878833804280\n",
      "Epoch: 35840/50000, Loss: 0.0012598815374076\n",
      "Epoch: 35850/50000, Loss: 0.0012500979937613\n",
      "Epoch: 35860/50000, Loss: 0.0012545809149742\n",
      "Epoch: 35870/50000, Loss: 0.0014704238856211\n",
      "Epoch: 35880/50000, Loss: 0.0012513551628217\n",
      "Epoch: 35890/50000, Loss: 0.0012636595638469\n",
      "Epoch: 35900/50000, Loss: 0.0013161851093173\n",
      "Epoch: 35910/50000, Loss: 0.0013602883554995\n",
      "Epoch: 35920/50000, Loss: 0.0012451477814466\n",
      "Epoch: 35930/50000, Loss: 0.0012612927239388\n",
      "Epoch: 35940/50000, Loss: 0.0012823935830966\n",
      "Epoch: 35950/50000, Loss: 0.0017001478699967\n",
      "Epoch: 35960/50000, Loss: 0.0013068019179627\n",
      "Epoch: 35970/50000, Loss: 0.0012444942258298\n",
      "Epoch: 35980/50000, Loss: 0.0012473431415856\n",
      "Epoch: 35990/50000, Loss: 0.0012382376007736\n",
      "Epoch: 36000/50000, Loss: 0.0012426117900759\n",
      "Epoch: 36010/50000, Loss: 0.0014300113543868\n",
      "Epoch: 36020/50000, Loss: 0.0013766380725428\n",
      "Epoch: 36030/50000, Loss: 0.0013102979864925\n",
      "Epoch: 36040/50000, Loss: 0.0012817647075281\n",
      "Epoch: 36050/50000, Loss: 0.0012649237178266\n",
      "Epoch: 36060/50000, Loss: 0.0012773182243109\n",
      "Epoch: 36070/50000, Loss: 0.0013310398207977\n",
      "Epoch: 36080/50000, Loss: 0.0012856468092650\n",
      "Epoch: 36090/50000, Loss: 0.0012354688951746\n",
      "Epoch: 36100/50000, Loss: 0.0012955684214830\n",
      "Epoch: 36110/50000, Loss: 0.0016298850532621\n",
      "Epoch: 36120/50000, Loss: 0.0013509900309145\n",
      "Epoch: 36130/50000, Loss: 0.0013017365708947\n",
      "Epoch: 36140/50000, Loss: 0.0013409397797659\n",
      "Epoch: 36150/50000, Loss: 0.0012477416312322\n",
      "Epoch: 36160/50000, Loss: 0.0012407887261361\n",
      "Epoch: 36170/50000, Loss: 0.0012625292874873\n",
      "Epoch: 36180/50000, Loss: 0.0013379923766479\n",
      "Epoch: 36190/50000, Loss: 0.0013017848832533\n",
      "Epoch: 36200/50000, Loss: 0.0012877356493846\n",
      "Epoch: 36210/50000, Loss: 0.0015372032066807\n",
      "Epoch: 36220/50000, Loss: 0.0012712017633021\n",
      "Epoch: 36230/50000, Loss: 0.0012369158212095\n",
      "Epoch: 36240/50000, Loss: 0.0012460657162592\n",
      "Epoch: 36250/50000, Loss: 0.0012351300101727\n",
      "Epoch: 36260/50000, Loss: 0.0012680869549513\n",
      "Epoch: 36270/50000, Loss: 0.0016514376038685\n",
      "Epoch: 36280/50000, Loss: 0.0013498896732926\n",
      "Epoch: 36290/50000, Loss: 0.0013195328647271\n",
      "Epoch: 36300/50000, Loss: 0.0012794350041077\n",
      "Epoch: 36310/50000, Loss: 0.0013429422397166\n",
      "Epoch: 36320/50000, Loss: 0.0013781678862870\n",
      "Epoch: 36330/50000, Loss: 0.0012901140144095\n",
      "Epoch: 36340/50000, Loss: 0.0012482146266848\n",
      "Epoch: 36350/50000, Loss: 0.0012428138870746\n",
      "Epoch: 36360/50000, Loss: 0.0012723278487101\n",
      "Epoch: 36370/50000, Loss: 0.0016188964946195\n",
      "Epoch: 36380/50000, Loss: 0.0012746573192999\n",
      "Epoch: 36390/50000, Loss: 0.0012366203591228\n",
      "Epoch: 36400/50000, Loss: 0.0012375793885440\n",
      "Epoch: 36410/50000, Loss: 0.0012598774628714\n",
      "Epoch: 36420/50000, Loss: 0.0013673709472641\n",
      "Epoch: 36430/50000, Loss: 0.0013534411555156\n",
      "Epoch: 36440/50000, Loss: 0.0013892162824050\n",
      "Epoch: 36450/50000, Loss: 0.0012598478933796\n",
      "Epoch: 36460/50000, Loss: 0.0012557229492813\n",
      "Epoch: 36470/50000, Loss: 0.0012411357602105\n",
      "Epoch: 36480/50000, Loss: 0.0013563755201176\n",
      "Epoch: 36490/50000, Loss: 0.0013267400208861\n",
      "Epoch: 36500/50000, Loss: 0.0012496565468609\n",
      "Epoch: 36510/50000, Loss: 0.0012463665334508\n",
      "Epoch: 36520/50000, Loss: 0.0013431113911793\n",
      "Epoch: 36530/50000, Loss: 0.0012866827892140\n",
      "Epoch: 36540/50000, Loss: 0.0012760706013069\n",
      "Epoch: 36550/50000, Loss: 0.0012519728625193\n",
      "Epoch: 36560/50000, Loss: 0.0014913686318323\n",
      "Epoch: 36570/50000, Loss: 0.0012352779740468\n",
      "Epoch: 36580/50000, Loss: 0.0012401712592691\n",
      "Epoch: 36590/50000, Loss: 0.0012542933691293\n",
      "Epoch: 36600/50000, Loss: 0.0013730362989008\n",
      "Epoch: 36610/50000, Loss: 0.0012532493565232\n",
      "Epoch: 36620/50000, Loss: 0.0012591604609042\n",
      "Epoch: 36630/50000, Loss: 0.0012285137781873\n",
      "Epoch: 36640/50000, Loss: 0.0012363336281851\n",
      "Epoch: 36650/50000, Loss: 0.0013168593868613\n",
      "Epoch: 36660/50000, Loss: 0.0015043261228129\n",
      "Epoch: 36670/50000, Loss: 0.0013591194292530\n",
      "Epoch: 36680/50000, Loss: 0.0012685126857832\n",
      "Epoch: 36690/50000, Loss: 0.0012456178665161\n",
      "Epoch: 36700/50000, Loss: 0.0012639671331272\n",
      "Epoch: 36710/50000, Loss: 0.0013578289654106\n",
      "Epoch: 36720/50000, Loss: 0.0013534922618419\n",
      "Epoch: 36730/50000, Loss: 0.0013424892676994\n",
      "Epoch: 36740/50000, Loss: 0.0013122357195243\n",
      "Epoch: 36750/50000, Loss: 0.0013316825497895\n",
      "Epoch: 36760/50000, Loss: 0.0012535541318357\n",
      "Epoch: 36770/50000, Loss: 0.0012279873481020\n",
      "Epoch: 36780/50000, Loss: 0.0012517097638920\n",
      "Epoch: 36790/50000, Loss: 0.0014164998428896\n",
      "Epoch: 36800/50000, Loss: 0.0013516083126888\n",
      "Epoch: 36810/50000, Loss: 0.0012536273570731\n",
      "Epoch: 36820/50000, Loss: 0.0012738269288093\n",
      "Epoch: 36830/50000, Loss: 0.0013270080089569\n",
      "Epoch: 36840/50000, Loss: 0.0014002559473738\n",
      "Epoch: 36850/50000, Loss: 0.0012423245934770\n",
      "Epoch: 36860/50000, Loss: 0.0012396534439176\n",
      "Epoch: 36870/50000, Loss: 0.0012406267924234\n",
      "Epoch: 36880/50000, Loss: 0.0013053477741778\n",
      "Epoch: 36890/50000, Loss: 0.0015553527045995\n",
      "Epoch: 36900/50000, Loss: 0.0015473735984415\n",
      "Epoch: 36910/50000, Loss: 0.0013170221354812\n",
      "Epoch: 36920/50000, Loss: 0.0012636648025364\n",
      "Epoch: 36930/50000, Loss: 0.0012369379401207\n",
      "Epoch: 36940/50000, Loss: 0.0012309008743614\n",
      "Epoch: 36950/50000, Loss: 0.0012832181528211\n",
      "Epoch: 36960/50000, Loss: 0.0015529746888205\n",
      "Epoch: 36970/50000, Loss: 0.0013244493165985\n",
      "Epoch: 36980/50000, Loss: 0.0012574591673911\n",
      "Epoch: 36990/50000, Loss: 0.0012805712176487\n",
      "Epoch: 37000/50000, Loss: 0.0014497956726700\n",
      "Epoch: 37010/50000, Loss: 0.0013228830648586\n",
      "Epoch: 37020/50000, Loss: 0.0013280898565426\n",
      "Epoch: 37030/50000, Loss: 0.0012562199262902\n",
      "Epoch: 37040/50000, Loss: 0.0013479369226843\n",
      "Epoch: 37050/50000, Loss: 0.0012532828841358\n",
      "Epoch: 37060/50000, Loss: 0.0012389584444463\n",
      "Epoch: 37070/50000, Loss: 0.0012329265009612\n",
      "Epoch: 37080/50000, Loss: 0.0012437361292541\n",
      "Epoch: 37090/50000, Loss: 0.0014905976131558\n",
      "Epoch: 37100/50000, Loss: 0.0012837587855756\n",
      "Epoch: 37110/50000, Loss: 0.0012523925397545\n",
      "Epoch: 37120/50000, Loss: 0.0012514275731519\n",
      "Epoch: 37130/50000, Loss: 0.0012810395564884\n",
      "Epoch: 37140/50000, Loss: 0.0012748610461131\n",
      "Epoch: 37150/50000, Loss: 0.0012480590958148\n",
      "Epoch: 37160/50000, Loss: 0.0012856316752732\n",
      "Epoch: 37170/50000, Loss: 0.0013563372194767\n",
      "Epoch: 37180/50000, Loss: 0.0012466424377635\n",
      "Epoch: 37190/50000, Loss: 0.0013562845997512\n",
      "Epoch: 37200/50000, Loss: 0.0014212492387742\n",
      "Epoch: 37210/50000, Loss: 0.0012909802608192\n",
      "Epoch: 37220/50000, Loss: 0.0013143767137080\n",
      "Epoch: 37230/50000, Loss: 0.0012539122253656\n",
      "Epoch: 37240/50000, Loss: 0.0012305005220696\n",
      "Epoch: 37250/50000, Loss: 0.0012413554359227\n",
      "Epoch: 37260/50000, Loss: 0.0013629359891638\n",
      "Epoch: 37270/50000, Loss: 0.0014277434675023\n",
      "Epoch: 37280/50000, Loss: 0.0013269195333123\n",
      "Epoch: 37290/50000, Loss: 0.0012689358554780\n",
      "Epoch: 37300/50000, Loss: 0.0012387211900204\n",
      "Epoch: 37310/50000, Loss: 0.0012961011379957\n",
      "Epoch: 37320/50000, Loss: 0.0014599896967411\n",
      "Epoch: 37330/50000, Loss: 0.0012931986711919\n",
      "Epoch: 37340/50000, Loss: 0.0012369625037536\n",
      "Epoch: 37350/50000, Loss: 0.0012268548598513\n",
      "Epoch: 37360/50000, Loss: 0.0012250139843673\n",
      "Epoch: 37370/50000, Loss: 0.0013207517331466\n",
      "Epoch: 37380/50000, Loss: 0.0015567269874737\n",
      "Epoch: 37390/50000, Loss: 0.0013126611011103\n",
      "Epoch: 37400/50000, Loss: 0.0012712563620880\n",
      "Epoch: 37410/50000, Loss: 0.0012749433517456\n",
      "Epoch: 37420/50000, Loss: 0.0015455932589248\n",
      "Epoch: 37430/50000, Loss: 0.0013260421110317\n",
      "Epoch: 37440/50000, Loss: 0.0012550725368783\n",
      "Epoch: 37450/50000, Loss: 0.0012464044848457\n",
      "Epoch: 37460/50000, Loss: 0.0013702091528103\n",
      "Epoch: 37470/50000, Loss: 0.0012921862071380\n",
      "Epoch: 37480/50000, Loss: 0.0012461310252547\n",
      "Epoch: 37490/50000, Loss: 0.0012337306980044\n",
      "Epoch: 37500/50000, Loss: 0.0012285716366023\n",
      "Epoch: 37510/50000, Loss: 0.0012312761973590\n",
      "Epoch: 37520/50000, Loss: 0.0013486278476194\n",
      "Epoch: 37530/50000, Loss: 0.0014507776359096\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 37540/50000, Loss: 0.0013091982109472\n",
      "Epoch: 37550/50000, Loss: 0.0012479695724323\n",
      "Epoch: 37560/50000, Loss: 0.0012425802415237\n",
      "Epoch: 37570/50000, Loss: 0.0012766009895131\n",
      "Epoch: 37580/50000, Loss: 0.0013407859951258\n",
      "Epoch: 37590/50000, Loss: 0.0012240577489138\n",
      "Epoch: 37600/50000, Loss: 0.0012525867205113\n",
      "Epoch: 37610/50000, Loss: 0.0012700951192528\n",
      "Epoch: 37620/50000, Loss: 0.0013818969018757\n",
      "Epoch: 37630/50000, Loss: 0.0013853444252163\n",
      "Epoch: 37640/50000, Loss: 0.0013044119114056\n",
      "Epoch: 37650/50000, Loss: 0.0012334482744336\n",
      "Epoch: 37660/50000, Loss: 0.0012361161643639\n",
      "Epoch: 37670/50000, Loss: 0.0012975241988897\n",
      "Epoch: 37680/50000, Loss: 0.0013367042411119\n",
      "Epoch: 37690/50000, Loss: 0.0014516328228638\n",
      "Epoch: 37700/50000, Loss: 0.0012719386722893\n",
      "Epoch: 37710/50000, Loss: 0.0012420564889908\n",
      "Epoch: 37720/50000, Loss: 0.0012203030055389\n",
      "Epoch: 37730/50000, Loss: 0.0012328303419054\n",
      "Epoch: 37740/50000, Loss: 0.0013730926439166\n",
      "Epoch: 37750/50000, Loss: 0.0013194001512602\n",
      "Epoch: 37760/50000, Loss: 0.0013603749684989\n",
      "Epoch: 37770/50000, Loss: 0.0012449017958716\n",
      "Epoch: 37780/50000, Loss: 0.0012488847132772\n",
      "Epoch: 37790/50000, Loss: 0.0014652988174930\n",
      "Epoch: 37800/50000, Loss: 0.0012611802667379\n",
      "Epoch: 37810/50000, Loss: 0.0012447379995137\n",
      "Epoch: 37820/50000, Loss: 0.0012341836700216\n",
      "Epoch: 37830/50000, Loss: 0.0012191891437396\n",
      "Epoch: 37840/50000, Loss: 0.0012525299098343\n",
      "Epoch: 37850/50000, Loss: 0.0015450684586540\n",
      "Epoch: 37860/50000, Loss: 0.0012982931220904\n",
      "Epoch: 37870/50000, Loss: 0.0012566703371704\n",
      "Epoch: 37880/50000, Loss: 0.0012886511394754\n",
      "Epoch: 37890/50000, Loss: 0.0014697274891660\n",
      "Epoch: 37900/50000, Loss: 0.0013177017681301\n",
      "Epoch: 37910/50000, Loss: 0.0012540721800178\n",
      "Epoch: 37920/50000, Loss: 0.0012222899822518\n",
      "Epoch: 37930/50000, Loss: 0.0012135452125221\n",
      "Epoch: 37940/50000, Loss: 0.0012831006897613\n",
      "Epoch: 37950/50000, Loss: 0.0015721211675555\n",
      "Epoch: 37960/50000, Loss: 0.0013410147512332\n",
      "Epoch: 37970/50000, Loss: 0.0012518693692982\n",
      "Epoch: 37980/50000, Loss: 0.0012282861862332\n",
      "Epoch: 37990/50000, Loss: 0.0012151729315519\n",
      "Epoch: 38000/50000, Loss: 0.0012467732885852\n",
      "Epoch: 38010/50000, Loss: 0.0017133353976533\n",
      "Epoch: 38020/50000, Loss: 0.0014904421987012\n",
      "Epoch: 38030/50000, Loss: 0.0013186492724344\n",
      "Epoch: 38040/50000, Loss: 0.0012218171032146\n",
      "Epoch: 38050/50000, Loss: 0.0012191643472761\n",
      "Epoch: 38060/50000, Loss: 0.0012432901421562\n",
      "Epoch: 38070/50000, Loss: 0.0013274239609018\n",
      "Epoch: 38080/50000, Loss: 0.0013393930858001\n",
      "Epoch: 38090/50000, Loss: 0.0013028418179601\n",
      "Epoch: 38100/50000, Loss: 0.0012378902174532\n",
      "Epoch: 38110/50000, Loss: 0.0012385083828121\n",
      "Epoch: 38120/50000, Loss: 0.0012497793650255\n",
      "Epoch: 38130/50000, Loss: 0.0013921344652772\n",
      "Epoch: 38140/50000, Loss: 0.0013505903771147\n",
      "Epoch: 38150/50000, Loss: 0.0012585232034326\n",
      "Epoch: 38160/50000, Loss: 0.0012355502694845\n",
      "Epoch: 38170/50000, Loss: 0.0012280690716580\n",
      "Epoch: 38180/50000, Loss: 0.0012177766766399\n",
      "Epoch: 38190/50000, Loss: 0.0012692428426817\n",
      "Epoch: 38200/50000, Loss: 0.0015286061679944\n",
      "Epoch: 38210/50000, Loss: 0.0013645170256495\n",
      "Epoch: 38220/50000, Loss: 0.0013241042615846\n",
      "Epoch: 38230/50000, Loss: 0.0013555644545704\n",
      "Epoch: 38240/50000, Loss: 0.0012302746763453\n",
      "Epoch: 38250/50000, Loss: 0.0012173331342638\n",
      "Epoch: 38260/50000, Loss: 0.0012204385129735\n",
      "Epoch: 38270/50000, Loss: 0.0012429722119123\n",
      "Epoch: 38280/50000, Loss: 0.0014475738862529\n",
      "Epoch: 38290/50000, Loss: 0.0014192108064890\n",
      "Epoch: 38300/50000, Loss: 0.0013159754453227\n",
      "Epoch: 38310/50000, Loss: 0.0012196979951113\n",
      "Epoch: 38320/50000, Loss: 0.0012150480179116\n",
      "Epoch: 38330/50000, Loss: 0.0012167481472716\n",
      "Epoch: 38340/50000, Loss: 0.0012402815045789\n",
      "Epoch: 38350/50000, Loss: 0.0014631076483056\n",
      "Epoch: 38360/50000, Loss: 0.0012778029777110\n",
      "Epoch: 38370/50000, Loss: 0.0012437419500202\n",
      "Epoch: 38380/50000, Loss: 0.0012240430805832\n",
      "Epoch: 38390/50000, Loss: 0.0012608005199581\n",
      "Epoch: 38400/50000, Loss: 0.0014536704402417\n",
      "Epoch: 38410/50000, Loss: 0.0013402974000201\n",
      "Epoch: 38420/50000, Loss: 0.0012670984724537\n",
      "Epoch: 38430/50000, Loss: 0.0012509014923126\n",
      "Epoch: 38440/50000, Loss: 0.0015891814837232\n",
      "Epoch: 38450/50000, Loss: 0.0012864177115262\n",
      "Epoch: 38460/50000, Loss: 0.0012199364136904\n",
      "Epoch: 38470/50000, Loss: 0.0012072429526597\n",
      "Epoch: 38480/50000, Loss: 0.0012103639310226\n",
      "Epoch: 38490/50000, Loss: 0.0013114381581545\n",
      "Epoch: 38500/50000, Loss: 0.0014040479436517\n",
      "Epoch: 38510/50000, Loss: 0.0012640400091186\n",
      "Epoch: 38520/50000, Loss: 0.0012174204457551\n",
      "Epoch: 38530/50000, Loss: 0.0012186239473522\n",
      "Epoch: 38540/50000, Loss: 0.0013566616689786\n",
      "Epoch: 38550/50000, Loss: 0.0012795331422240\n",
      "Epoch: 38560/50000, Loss: 0.0012381690321490\n",
      "Epoch: 38570/50000, Loss: 0.0012456566328183\n",
      "Epoch: 38580/50000, Loss: 0.0013870598049834\n",
      "Epoch: 38590/50000, Loss: 0.0012941462919116\n",
      "Epoch: 38600/50000, Loss: 0.0012200139462948\n",
      "Epoch: 38610/50000, Loss: 0.0012238185154274\n",
      "Epoch: 38620/50000, Loss: 0.0012463595485315\n",
      "Epoch: 38630/50000, Loss: 0.0015328009612858\n",
      "Epoch: 38640/50000, Loss: 0.0012784869177267\n",
      "Epoch: 38650/50000, Loss: 0.0012846750905737\n",
      "Epoch: 38660/50000, Loss: 0.0012670650612563\n",
      "Epoch: 38670/50000, Loss: 0.0012288121506572\n",
      "Epoch: 38680/50000, Loss: 0.0012852126965299\n",
      "Epoch: 38690/50000, Loss: 0.0012881725560874\n",
      "Epoch: 38700/50000, Loss: 0.0012388199102134\n",
      "Epoch: 38710/50000, Loss: 0.0012731506722048\n",
      "Epoch: 38720/50000, Loss: 0.0014331239508465\n",
      "Epoch: 38730/50000, Loss: 0.0013247693423182\n",
      "Epoch: 38740/50000, Loss: 0.0012806158047169\n",
      "Epoch: 38750/50000, Loss: 0.0012964038178325\n",
      "Epoch: 38760/50000, Loss: 0.0012945022899657\n",
      "Epoch: 38770/50000, Loss: 0.0012381760170683\n",
      "Epoch: 38780/50000, Loss: 0.0012049885699525\n",
      "Epoch: 38790/50000, Loss: 0.0012226208345965\n",
      "Epoch: 38800/50000, Loss: 0.0012753464980051\n",
      "Epoch: 38810/50000, Loss: 0.0014654116239399\n",
      "Epoch: 38820/50000, Loss: 0.0013698368566111\n",
      "Epoch: 38830/50000, Loss: 0.0012769580353051\n",
      "Epoch: 38840/50000, Loss: 0.0012447052868083\n",
      "Epoch: 38850/50000, Loss: 0.0012463065795600\n",
      "Epoch: 38860/50000, Loss: 0.0012296900385991\n",
      "Epoch: 38870/50000, Loss: 0.0012665400281549\n",
      "Epoch: 38880/50000, Loss: 0.0013941891957074\n",
      "Epoch: 38890/50000, Loss: 0.0012174384901300\n",
      "Epoch: 38900/50000, Loss: 0.0012497479328886\n",
      "Epoch: 38910/50000, Loss: 0.0012904051691294\n",
      "Epoch: 38920/50000, Loss: 0.0012912824749947\n",
      "Epoch: 38930/50000, Loss: 0.0012939209118485\n",
      "Epoch: 38940/50000, Loss: 0.0012869008351117\n",
      "Epoch: 38950/50000, Loss: 0.0012814864749089\n",
      "Epoch: 38960/50000, Loss: 0.0012648187112063\n",
      "Epoch: 38970/50000, Loss: 0.0012739166850224\n",
      "Epoch: 38980/50000, Loss: 0.0014581824652851\n",
      "Epoch: 38990/50000, Loss: 0.0012871542712674\n",
      "Epoch: 39000/50000, Loss: 0.0012286695418879\n",
      "Epoch: 39010/50000, Loss: 0.0012212548172101\n",
      "Epoch: 39020/50000, Loss: 0.0013343690661713\n",
      "Epoch: 39030/50000, Loss: 0.0013773500686511\n",
      "Epoch: 39040/50000, Loss: 0.0013332815142348\n",
      "Epoch: 39050/50000, Loss: 0.0012553540291265\n",
      "Epoch: 39060/50000, Loss: 0.0012125383364037\n",
      "Epoch: 39070/50000, Loss: 0.0012322602560744\n",
      "Epoch: 39080/50000, Loss: 0.0015158772002906\n",
      "Epoch: 39090/50000, Loss: 0.0012687967391685\n",
      "Epoch: 39100/50000, Loss: 0.0012930830707774\n",
      "Epoch: 39110/50000, Loss: 0.0012257244670764\n",
      "Epoch: 39120/50000, Loss: 0.0012004128657281\n",
      "Epoch: 39130/50000, Loss: 0.0012205786770210\n",
      "Epoch: 39140/50000, Loss: 0.0013396067079157\n",
      "Epoch: 39150/50000, Loss: 0.0012873575324193\n",
      "Epoch: 39160/50000, Loss: 0.0012570553226396\n",
      "Epoch: 39170/50000, Loss: 0.0012599058682099\n",
      "Epoch: 39180/50000, Loss: 0.0015265722759068\n",
      "Epoch: 39190/50000, Loss: 0.0013178073568270\n",
      "Epoch: 39200/50000, Loss: 0.0012552496045828\n",
      "Epoch: 39210/50000, Loss: 0.0012313030892983\n",
      "Epoch: 39220/50000, Loss: 0.0012308334698901\n",
      "Epoch: 39230/50000, Loss: 0.0012789926258847\n",
      "Epoch: 39240/50000, Loss: 0.0013076136820018\n",
      "Epoch: 39250/50000, Loss: 0.0012376203667372\n",
      "Epoch: 39260/50000, Loss: 0.0014477181248367\n",
      "Epoch: 39270/50000, Loss: 0.0012712307507172\n",
      "Epoch: 39280/50000, Loss: 0.0012332963524386\n",
      "Epoch: 39290/50000, Loss: 0.0012725078267977\n",
      "Epoch: 39300/50000, Loss: 0.0013325198087841\n",
      "Epoch: 39310/50000, Loss: 0.0012497884454206\n",
      "Epoch: 39320/50000, Loss: 0.0012238243361935\n",
      "Epoch: 39330/50000, Loss: 0.0012756870128214\n",
      "Epoch: 39340/50000, Loss: 0.0012492310488597\n",
      "Epoch: 39350/50000, Loss: 0.0012260559014976\n",
      "Epoch: 39360/50000, Loss: 0.0014686476206407\n",
      "Epoch: 39370/50000, Loss: 0.0013249246403575\n",
      "Epoch: 39380/50000, Loss: 0.0013785331975669\n",
      "Epoch: 39390/50000, Loss: 0.0012385200243443\n",
      "Epoch: 39400/50000, Loss: 0.0012261690571904\n",
      "Epoch: 39410/50000, Loss: 0.0012013200903311\n",
      "Epoch: 39420/50000, Loss: 0.0012122304178774\n",
      "Epoch: 39430/50000, Loss: 0.0014334433944896\n",
      "Epoch: 39440/50000, Loss: 0.0012581764021888\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 39450/50000, Loss: 0.0012425070162863\n",
      "Epoch: 39460/50000, Loss: 0.0013296399265528\n",
      "Epoch: 39470/50000, Loss: 0.0012571343686432\n",
      "Epoch: 39480/50000, Loss: 0.0012286164565012\n",
      "Epoch: 39490/50000, Loss: 0.0012198020704091\n",
      "Epoch: 39500/50000, Loss: 0.0013650067849085\n",
      "Epoch: 39510/50000, Loss: 0.0012453761883080\n",
      "Epoch: 39520/50000, Loss: 0.0012419099221006\n",
      "Epoch: 39530/50000, Loss: 0.0012364330468699\n",
      "Epoch: 39540/50000, Loss: 0.0012234305031598\n",
      "Epoch: 39550/50000, Loss: 0.0012370544718578\n",
      "Epoch: 39560/50000, Loss: 0.0013537326594815\n",
      "Epoch: 39570/50000, Loss: 0.0013542883098125\n",
      "Epoch: 39580/50000, Loss: 0.0012615604791790\n",
      "Epoch: 39590/50000, Loss: 0.0012129946844652\n",
      "Epoch: 39600/50000, Loss: 0.0012055046390742\n",
      "Epoch: 39610/50000, Loss: 0.0012026740005240\n",
      "Epoch: 39620/50000, Loss: 0.0012880989816040\n",
      "Epoch: 39630/50000, Loss: 0.0014469083398581\n",
      "Epoch: 39640/50000, Loss: 0.0014071600744501\n",
      "Epoch: 39650/50000, Loss: 0.0012960872845724\n",
      "Epoch: 39660/50000, Loss: 0.0013082317309454\n",
      "Epoch: 39670/50000, Loss: 0.0012513260589913\n",
      "Epoch: 39680/50000, Loss: 0.0012308442965150\n",
      "Epoch: 39690/50000, Loss: 0.0012147625675425\n",
      "Epoch: 39700/50000, Loss: 0.0012820311821997\n",
      "Epoch: 39710/50000, Loss: 0.0013381921453401\n",
      "Epoch: 39720/50000, Loss: 0.0013230537297204\n",
      "Epoch: 39730/50000, Loss: 0.0012231009313837\n",
      "Epoch: 39740/50000, Loss: 0.0012387465685606\n",
      "Epoch: 39750/50000, Loss: 0.0014271440450102\n",
      "Epoch: 39760/50000, Loss: 0.0012132214615121\n",
      "Epoch: 39770/50000, Loss: 0.0012258298229426\n",
      "Epoch: 39780/50000, Loss: 0.0012205461971462\n",
      "Epoch: 39790/50000, Loss: 0.0015310880262405\n",
      "Epoch: 39800/50000, Loss: 0.0013054147129878\n",
      "Epoch: 39810/50000, Loss: 0.0012423477601260\n",
      "Epoch: 39820/50000, Loss: 0.0012181273195893\n",
      "Epoch: 39830/50000, Loss: 0.0012111103860661\n",
      "Epoch: 39840/50000, Loss: 0.0013221447588876\n",
      "Epoch: 39850/50000, Loss: 0.0013519423082471\n",
      "Epoch: 39860/50000, Loss: 0.0013022461207584\n",
      "Epoch: 39870/50000, Loss: 0.0012104576453567\n",
      "Epoch: 39880/50000, Loss: 0.0011916136136279\n",
      "Epoch: 39890/50000, Loss: 0.0011971681378782\n",
      "Epoch: 39900/50000, Loss: 0.0012566753430292\n",
      "Epoch: 39910/50000, Loss: 0.0016941719222814\n",
      "Epoch: 39920/50000, Loss: 0.0013350355438888\n",
      "Epoch: 39930/50000, Loss: 0.0012243230594322\n",
      "Epoch: 39940/50000, Loss: 0.0012105833739042\n",
      "Epoch: 39950/50000, Loss: 0.0013451545964926\n",
      "Epoch: 39960/50000, Loss: 0.0012366391019896\n",
      "Epoch: 39970/50000, Loss: 0.0012476261472329\n",
      "Epoch: 39980/50000, Loss: 0.0012049402575940\n",
      "Epoch: 39990/50000, Loss: 0.0011961219133809\n",
      "Epoch: 40000/50000, Loss: 0.0013454587897286\n",
      "Epoch: 40010/50000, Loss: 0.0013103809906170\n",
      "Epoch: 40020/50000, Loss: 0.0013276594690979\n",
      "Epoch: 40030/50000, Loss: 0.0012121929321438\n",
      "Epoch: 40040/50000, Loss: 0.0012063923059031\n",
      "Epoch: 40050/50000, Loss: 0.0012009930796921\n",
      "Epoch: 40060/50000, Loss: 0.0012235193280503\n",
      "Epoch: 40070/50000, Loss: 0.0013966967817396\n",
      "Epoch: 40080/50000, Loss: 0.0012431375216693\n",
      "Epoch: 40090/50000, Loss: 0.0012662626104429\n",
      "Epoch: 40100/50000, Loss: 0.0012959189480171\n",
      "Epoch: 40110/50000, Loss: 0.0012085504131392\n",
      "Epoch: 40120/50000, Loss: 0.0012665701797232\n",
      "Epoch: 40130/50000, Loss: 0.0013925761450082\n",
      "Epoch: 40140/50000, Loss: 0.0012920639710501\n",
      "Epoch: 40150/50000, Loss: 0.0012058672728017\n",
      "Epoch: 40160/50000, Loss: 0.0011944802245125\n",
      "Epoch: 40170/50000, Loss: 0.0013142357347533\n",
      "Epoch: 40180/50000, Loss: 0.0013027318054810\n",
      "Epoch: 40190/50000, Loss: 0.0013974148314446\n",
      "Epoch: 40200/50000, Loss: 0.0012531097745523\n",
      "Epoch: 40210/50000, Loss: 0.0012481587473303\n",
      "Epoch: 40220/50000, Loss: 0.0012469121720642\n",
      "Epoch: 40230/50000, Loss: 0.0012387608876452\n",
      "Epoch: 40240/50000, Loss: 0.0012546340003610\n",
      "Epoch: 40250/50000, Loss: 0.0013139399234205\n",
      "Epoch: 40260/50000, Loss: 0.0012227192055434\n",
      "Epoch: 40270/50000, Loss: 0.0013176749926060\n",
      "Epoch: 40280/50000, Loss: 0.0012645337264985\n",
      "Epoch: 40290/50000, Loss: 0.0012539118761197\n",
      "Epoch: 40300/50000, Loss: 0.0013355528935790\n",
      "Epoch: 40310/50000, Loss: 0.0012463493039832\n",
      "Epoch: 40320/50000, Loss: 0.0012212288565934\n",
      "Epoch: 40330/50000, Loss: 0.0011914429487661\n",
      "Epoch: 40340/50000, Loss: 0.0012104936176911\n",
      "Epoch: 40350/50000, Loss: 0.0014282135525718\n",
      "Epoch: 40360/50000, Loss: 0.0012800818076357\n",
      "Epoch: 40370/50000, Loss: 0.0013699164846912\n",
      "Epoch: 40380/50000, Loss: 0.0012101104948670\n",
      "Epoch: 40390/50000, Loss: 0.0012245515827090\n",
      "Epoch: 40400/50000, Loss: 0.0013303230516613\n",
      "Epoch: 40410/50000, Loss: 0.0012630241690204\n",
      "Epoch: 40420/50000, Loss: 0.0012016459368169\n",
      "Epoch: 40430/50000, Loss: 0.0011951831402257\n",
      "Epoch: 40440/50000, Loss: 0.0011959001421928\n",
      "Epoch: 40450/50000, Loss: 0.0013398707378656\n",
      "Epoch: 40460/50000, Loss: 0.0012315666535869\n",
      "Epoch: 40470/50000, Loss: 0.0012105328496546\n",
      "Epoch: 40480/50000, Loss: 0.0012364863650873\n",
      "Epoch: 40490/50000, Loss: 0.0013092873850837\n",
      "Epoch: 40500/50000, Loss: 0.0012294054031372\n",
      "Epoch: 40510/50000, Loss: 0.0012866385513917\n",
      "Epoch: 40520/50000, Loss: 0.0012699461076409\n",
      "Epoch: 40530/50000, Loss: 0.0011823242530227\n",
      "Epoch: 40540/50000, Loss: 0.0012031558435410\n",
      "Epoch: 40550/50000, Loss: 0.0013077665353194\n",
      "Epoch: 40560/50000, Loss: 0.0013419789029285\n",
      "Epoch: 40570/50000, Loss: 0.0014570333296433\n",
      "Epoch: 40580/50000, Loss: 0.0012541052419692\n",
      "Epoch: 40590/50000, Loss: 0.0012077855644748\n",
      "Epoch: 40600/50000, Loss: 0.0011983281001449\n",
      "Epoch: 40610/50000, Loss: 0.0012540295720100\n",
      "Epoch: 40620/50000, Loss: 0.0013366821222007\n",
      "Epoch: 40630/50000, Loss: 0.0012535448186100\n",
      "Epoch: 40640/50000, Loss: 0.0012087837094441\n",
      "Epoch: 40650/50000, Loss: 0.0012200810015202\n",
      "Epoch: 40660/50000, Loss: 0.0012434908421710\n",
      "Epoch: 40670/50000, Loss: 0.0013848419766873\n",
      "Epoch: 40680/50000, Loss: 0.0013460390036926\n",
      "Epoch: 40690/50000, Loss: 0.0012675463221967\n",
      "Epoch: 40700/50000, Loss: 0.0012514005647972\n",
      "Epoch: 40710/50000, Loss: 0.0012732665054500\n",
      "Epoch: 40720/50000, Loss: 0.0012319462839514\n",
      "Epoch: 40730/50000, Loss: 0.0012986388755962\n",
      "Epoch: 40740/50000, Loss: 0.0012712194584310\n",
      "Epoch: 40750/50000, Loss: 0.0013335356488824\n",
      "Epoch: 40760/50000, Loss: 0.0012854300439358\n",
      "Epoch: 40770/50000, Loss: 0.0012568223755807\n",
      "Epoch: 40780/50000, Loss: 0.0011976463720202\n",
      "Epoch: 40790/50000, Loss: 0.0011959096882492\n",
      "Epoch: 40800/50000, Loss: 0.0012072022072971\n",
      "Epoch: 40810/50000, Loss: 0.0013766105985269\n",
      "Epoch: 40820/50000, Loss: 0.0013831512769684\n",
      "Epoch: 40830/50000, Loss: 0.0012701560044661\n",
      "Epoch: 40840/50000, Loss: 0.0012269687140360\n",
      "Epoch: 40850/50000, Loss: 0.0011906411964446\n",
      "Epoch: 40860/50000, Loss: 0.0011837449856102\n",
      "Epoch: 40870/50000, Loss: 0.0012785665458068\n",
      "Epoch: 40880/50000, Loss: 0.0014491113834083\n",
      "Epoch: 40890/50000, Loss: 0.0012448212364689\n",
      "Epoch: 40900/50000, Loss: 0.0012068155920133\n",
      "Epoch: 40910/50000, Loss: 0.0011955874506384\n",
      "Epoch: 40920/50000, Loss: 0.0011904096463695\n",
      "Epoch: 40930/50000, Loss: 0.0013026382075623\n",
      "Epoch: 40940/50000, Loss: 0.0012784955324605\n",
      "Epoch: 40950/50000, Loss: 0.0012029035715386\n",
      "Epoch: 40960/50000, Loss: 0.0012150433612987\n",
      "Epoch: 40970/50000, Loss: 0.0012616645544767\n",
      "Epoch: 40980/50000, Loss: 0.0013514895690605\n",
      "Epoch: 40990/50000, Loss: 0.0012214785674587\n",
      "Epoch: 41000/50000, Loss: 0.0012082776520401\n",
      "Epoch: 41010/50000, Loss: 0.0012124116765335\n",
      "Epoch: 41020/50000, Loss: 0.0013470697449520\n",
      "Epoch: 41030/50000, Loss: 0.0012216820614412\n",
      "Epoch: 41040/50000, Loss: 0.0012684670509771\n",
      "Epoch: 41050/50000, Loss: 0.0012822059215978\n",
      "Epoch: 41060/50000, Loss: 0.0011950350599363\n",
      "Epoch: 41070/50000, Loss: 0.0011944064171985\n",
      "Epoch: 41080/50000, Loss: 0.0013270073104650\n",
      "Epoch: 41090/50000, Loss: 0.0013257121900097\n",
      "Epoch: 41100/50000, Loss: 0.0012129239039496\n",
      "Epoch: 41110/50000, Loss: 0.0012005908647552\n",
      "Epoch: 41120/50000, Loss: 0.0012297723442316\n",
      "Epoch: 41130/50000, Loss: 0.0013061339268461\n",
      "Epoch: 41140/50000, Loss: 0.0012105915229768\n",
      "Epoch: 41150/50000, Loss: 0.0011929121101275\n",
      "Epoch: 41160/50000, Loss: 0.0011958037503064\n",
      "Epoch: 41170/50000, Loss: 0.0012870675418526\n",
      "Epoch: 41180/50000, Loss: 0.0015205255476758\n",
      "Epoch: 41190/50000, Loss: 0.0013205815339461\n",
      "Epoch: 41200/50000, Loss: 0.0012479197466746\n",
      "Epoch: 41210/50000, Loss: 0.0012343724956736\n",
      "Epoch: 41220/50000, Loss: 0.0013294153613970\n",
      "Epoch: 41230/50000, Loss: 0.0011951468186453\n",
      "Epoch: 41240/50000, Loss: 0.0012076188577339\n",
      "Epoch: 41250/50000, Loss: 0.0011848950525746\n",
      "Epoch: 41260/50000, Loss: 0.0012477515265346\n",
      "Epoch: 41270/50000, Loss: 0.0014623043825850\n",
      "Epoch: 41280/50000, Loss: 0.0013792378595099\n",
      "Epoch: 41290/50000, Loss: 0.0012178625911474\n",
      "Epoch: 41300/50000, Loss: 0.0011980674462393\n",
      "Epoch: 41310/50000, Loss: 0.0011969654588029\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 41320/50000, Loss: 0.0013402393087745\n",
      "Epoch: 41330/50000, Loss: 0.0012600974878296\n",
      "Epoch: 41340/50000, Loss: 0.0012044041650370\n",
      "Epoch: 41350/50000, Loss: 0.0011857410427183\n",
      "Epoch: 41360/50000, Loss: 0.0012380643747747\n",
      "Epoch: 41370/50000, Loss: 0.0016670108307153\n",
      "Epoch: 41380/50000, Loss: 0.0013375106500462\n",
      "Epoch: 41390/50000, Loss: 0.0012258241185918\n",
      "Epoch: 41400/50000, Loss: 0.0011947483289987\n",
      "Epoch: 41410/50000, Loss: 0.0012321384856477\n",
      "Epoch: 41420/50000, Loss: 0.0014218024443835\n",
      "Epoch: 41430/50000, Loss: 0.0012571007246152\n",
      "Epoch: 41440/50000, Loss: 0.0012495251139626\n",
      "Epoch: 41450/50000, Loss: 0.0012598965549842\n",
      "Epoch: 41460/50000, Loss: 0.0011947888415307\n",
      "Epoch: 41470/50000, Loss: 0.0011939558899030\n",
      "Epoch: 41480/50000, Loss: 0.0012258971109986\n",
      "Epoch: 41490/50000, Loss: 0.0012949227821082\n",
      "Epoch: 41500/50000, Loss: 0.0012485922779888\n",
      "Epoch: 41510/50000, Loss: 0.0013935995521024\n",
      "Epoch: 41520/50000, Loss: 0.0012482246384025\n",
      "Epoch: 41530/50000, Loss: 0.0012395738158375\n",
      "Epoch: 41540/50000, Loss: 0.0011835888726637\n",
      "Epoch: 41550/50000, Loss: 0.0011974568478763\n",
      "Epoch: 41560/50000, Loss: 0.0013038440374658\n",
      "Epoch: 41570/50000, Loss: 0.0012747060973197\n",
      "Epoch: 41580/50000, Loss: 0.0013867462985218\n",
      "Epoch: 41590/50000, Loss: 0.0012365208240226\n",
      "Epoch: 41600/50000, Loss: 0.0012377061648294\n",
      "Epoch: 41610/50000, Loss: 0.0012618849286810\n",
      "Epoch: 41620/50000, Loss: 0.0012340795947239\n",
      "Epoch: 41630/50000, Loss: 0.0012818943941966\n",
      "Epoch: 41640/50000, Loss: 0.0012680678628385\n",
      "Epoch: 41650/50000, Loss: 0.0012473318492994\n",
      "Epoch: 41660/50000, Loss: 0.0012137823505327\n",
      "Epoch: 41670/50000, Loss: 0.0012060205917805\n",
      "Epoch: 41680/50000, Loss: 0.0012363913701847\n",
      "Epoch: 41690/50000, Loss: 0.0013225713046268\n",
      "Epoch: 41700/50000, Loss: 0.0014291047118604\n",
      "Epoch: 41710/50000, Loss: 0.0012189114931971\n",
      "Epoch: 41720/50000, Loss: 0.0011829830473289\n",
      "Epoch: 41730/50000, Loss: 0.0011789094423875\n",
      "Epoch: 41740/50000, Loss: 0.0011869182344526\n",
      "Epoch: 41750/50000, Loss: 0.0014204576145858\n",
      "Epoch: 41760/50000, Loss: 0.0012160695623606\n",
      "Epoch: 41770/50000, Loss: 0.0011960983974859\n",
      "Epoch: 41780/50000, Loss: 0.0011917238589376\n",
      "Epoch: 41790/50000, Loss: 0.0012061169836670\n",
      "Epoch: 41800/50000, Loss: 0.0012926720082760\n",
      "Epoch: 41810/50000, Loss: 0.0014849005965516\n",
      "Epoch: 41820/50000, Loss: 0.0012797783128917\n",
      "Epoch: 41830/50000, Loss: 0.0012243508826941\n",
      "Epoch: 41840/50000, Loss: 0.0011846750276163\n",
      "Epoch: 41850/50000, Loss: 0.0011722256895155\n",
      "Epoch: 41860/50000, Loss: 0.0011704796925187\n",
      "Epoch: 41870/50000, Loss: 0.0012163487263024\n",
      "Epoch: 41880/50000, Loss: 0.0016277378890663\n",
      "Epoch: 41890/50000, Loss: 0.0013169824378565\n",
      "Epoch: 41900/50000, Loss: 0.0012051835656166\n",
      "Epoch: 41910/50000, Loss: 0.0011748985853046\n",
      "Epoch: 41920/50000, Loss: 0.0011807560222223\n",
      "Epoch: 41930/50000, Loss: 0.0013655934017152\n",
      "Epoch: 41940/50000, Loss: 0.0012660294305533\n",
      "Epoch: 41950/50000, Loss: 0.0012871081707999\n",
      "Epoch: 41960/50000, Loss: 0.0012627684045583\n",
      "Epoch: 41970/50000, Loss: 0.0011865337146446\n",
      "Epoch: 41980/50000, Loss: 0.0011755818268284\n",
      "Epoch: 41990/50000, Loss: 0.0011740118497983\n",
      "Epoch: 42000/50000, Loss: 0.0012140008620918\n",
      "Epoch: 42010/50000, Loss: 0.0014210625085980\n",
      "Epoch: 42020/50000, Loss: 0.0012755856150761\n",
      "Epoch: 42030/50000, Loss: 0.0012099336599931\n",
      "Epoch: 42040/50000, Loss: 0.0012060271110386\n",
      "Epoch: 42050/50000, Loss: 0.0012202817015350\n",
      "Epoch: 42060/50000, Loss: 0.0012351976474747\n",
      "Epoch: 42070/50000, Loss: 0.0013181030517444\n",
      "Epoch: 42080/50000, Loss: 0.0012164332438260\n",
      "Epoch: 42090/50000, Loss: 0.0015026145847514\n",
      "Epoch: 42100/50000, Loss: 0.0012583386851475\n",
      "Epoch: 42110/50000, Loss: 0.0012103888439015\n",
      "Epoch: 42120/50000, Loss: 0.0011783217778429\n",
      "Epoch: 42130/50000, Loss: 0.0011723688803613\n",
      "Epoch: 42140/50000, Loss: 0.0011774078011513\n",
      "Epoch: 42150/50000, Loss: 0.0013566416455433\n",
      "Epoch: 42160/50000, Loss: 0.0012364134890959\n",
      "Epoch: 42170/50000, Loss: 0.0013914554147050\n",
      "Epoch: 42180/50000, Loss: 0.0012169033288956\n",
      "Epoch: 42190/50000, Loss: 0.0011926527367905\n",
      "Epoch: 42200/50000, Loss: 0.0013132846215740\n",
      "Epoch: 42210/50000, Loss: 0.0012062099995092\n",
      "Epoch: 42220/50000, Loss: 0.0011960675474256\n",
      "Epoch: 42230/50000, Loss: 0.0012255824403837\n",
      "Epoch: 42240/50000, Loss: 0.0014906186843291\n",
      "Epoch: 42250/50000, Loss: 0.0012304079718888\n",
      "Epoch: 42260/50000, Loss: 0.0011888995068148\n",
      "Epoch: 42270/50000, Loss: 0.0011694873683155\n",
      "Epoch: 42280/50000, Loss: 0.0011697137961164\n",
      "Epoch: 42290/50000, Loss: 0.0011679752497002\n",
      "Epoch: 42300/50000, Loss: 0.0012178488541394\n",
      "Epoch: 42310/50000, Loss: 0.0016303334850818\n",
      "Epoch: 42320/50000, Loss: 0.0013539174105972\n",
      "Epoch: 42330/50000, Loss: 0.0012116858270019\n",
      "Epoch: 42340/50000, Loss: 0.0011788267875090\n",
      "Epoch: 42350/50000, Loss: 0.0011753832222894\n",
      "Epoch: 42360/50000, Loss: 0.0011807353002951\n",
      "Epoch: 42370/50000, Loss: 0.0013560249935836\n",
      "Epoch: 42380/50000, Loss: 0.0013027144595981\n",
      "Epoch: 42390/50000, Loss: 0.0012615374289453\n",
      "Epoch: 42400/50000, Loss: 0.0011890640016645\n",
      "Epoch: 42410/50000, Loss: 0.0011782998917624\n",
      "Epoch: 42420/50000, Loss: 0.0011695309076458\n",
      "Epoch: 42430/50000, Loss: 0.0011953441426158\n",
      "Epoch: 42440/50000, Loss: 0.0013773223618045\n",
      "Epoch: 42450/50000, Loss: 0.0013372121611610\n",
      "Epoch: 42460/50000, Loss: 0.0012108660303056\n",
      "Epoch: 42470/50000, Loss: 0.0012299335794523\n",
      "Epoch: 42480/50000, Loss: 0.0012886408949271\n",
      "Epoch: 42490/50000, Loss: 0.0011787756811827\n",
      "Epoch: 42500/50000, Loss: 0.0011906092986465\n",
      "Epoch: 42510/50000, Loss: 0.0011801349464804\n",
      "Epoch: 42520/50000, Loss: 0.0012331244070083\n",
      "Epoch: 42530/50000, Loss: 0.0015971293905750\n",
      "Epoch: 42540/50000, Loss: 0.0013228517491370\n",
      "Epoch: 42550/50000, Loss: 0.0011890585301444\n",
      "Epoch: 42560/50000, Loss: 0.0011898179072887\n",
      "Epoch: 42570/50000, Loss: 0.0011945152655244\n",
      "Epoch: 42580/50000, Loss: 0.0014148536138237\n",
      "Epoch: 42590/50000, Loss: 0.0012550668325275\n",
      "Epoch: 42600/50000, Loss: 0.0011829424183816\n",
      "Epoch: 42610/50000, Loss: 0.0011609797365963\n",
      "Epoch: 42620/50000, Loss: 0.0011696150759235\n",
      "Epoch: 42630/50000, Loss: 0.0012672598240897\n",
      "Epoch: 42640/50000, Loss: 0.0015275172190741\n",
      "Epoch: 42650/50000, Loss: 0.0013004640350118\n",
      "Epoch: 42660/50000, Loss: 0.0012188415275887\n",
      "Epoch: 42670/50000, Loss: 0.0012466139160097\n",
      "Epoch: 42680/50000, Loss: 0.0012652875157073\n",
      "Epoch: 42690/50000, Loss: 0.0011806687107310\n",
      "Epoch: 42700/50000, Loss: 0.0011876155622303\n",
      "Epoch: 42710/50000, Loss: 0.0011917763622478\n",
      "Epoch: 42720/50000, Loss: 0.0013726395554841\n",
      "Epoch: 42730/50000, Loss: 0.0012482545571402\n",
      "Epoch: 42740/50000, Loss: 0.0011751701822504\n",
      "Epoch: 42750/50000, Loss: 0.0012357716914266\n",
      "Epoch: 42760/50000, Loss: 0.0013531196163967\n",
      "Epoch: 42770/50000, Loss: 0.0012497237185016\n",
      "Epoch: 42780/50000, Loss: 0.0012533846311271\n",
      "Epoch: 42790/50000, Loss: 0.0012082224711776\n",
      "Epoch: 42800/50000, Loss: 0.0011793697485700\n",
      "Epoch: 42810/50000, Loss: 0.0011878971708938\n",
      "Epoch: 42820/50000, Loss: 0.0012806279119104\n",
      "Epoch: 42830/50000, Loss: 0.0013629437889904\n",
      "Epoch: 42840/50000, Loss: 0.0013016066513956\n",
      "Epoch: 42850/50000, Loss: 0.0014724219217896\n",
      "Epoch: 42860/50000, Loss: 0.0012571054976434\n",
      "Epoch: 42870/50000, Loss: 0.0011984226293862\n",
      "Epoch: 42880/50000, Loss: 0.0011693406850100\n",
      "Epoch: 42890/50000, Loss: 0.0011624103644863\n",
      "Epoch: 42900/50000, Loss: 0.0012033942621201\n",
      "Epoch: 42910/50000, Loss: 0.0016087648691610\n",
      "Epoch: 42920/50000, Loss: 0.0014124891022220\n",
      "Epoch: 42930/50000, Loss: 0.0012248016428202\n",
      "Epoch: 42940/50000, Loss: 0.0011867227731273\n",
      "Epoch: 42950/50000, Loss: 0.0012019035639241\n",
      "Epoch: 42960/50000, Loss: 0.0012504066107795\n",
      "Epoch: 42970/50000, Loss: 0.0011883013648912\n",
      "Epoch: 42980/50000, Loss: 0.0011950077023357\n",
      "Epoch: 42990/50000, Loss: 0.0013562899548560\n",
      "Epoch: 43000/50000, Loss: 0.0012483857572079\n",
      "Epoch: 43010/50000, Loss: 0.0012443924788386\n",
      "Epoch: 43020/50000, Loss: 0.0011903569102287\n",
      "Epoch: 43030/50000, Loss: 0.0012105846544728\n",
      "Epoch: 43040/50000, Loss: 0.0013201386900619\n",
      "Epoch: 43050/50000, Loss: 0.0012991579715163\n",
      "Epoch: 43060/50000, Loss: 0.0012428744230419\n",
      "Epoch: 43070/50000, Loss: 0.0012152979616076\n",
      "Epoch: 43080/50000, Loss: 0.0011941092088819\n",
      "Epoch: 43090/50000, Loss: 0.0011908590095118\n",
      "Epoch: 43100/50000, Loss: 0.0012029965873808\n",
      "Epoch: 43110/50000, Loss: 0.0013286530738696\n",
      "Epoch: 43120/50000, Loss: 0.0012611041311175\n",
      "Epoch: 43130/50000, Loss: 0.0013099022908136\n",
      "Epoch: 43140/50000, Loss: 0.0012793208006769\n",
      "Epoch: 43150/50000, Loss: 0.0012045991607010\n",
      "Epoch: 43160/50000, Loss: 0.0011743844952434\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 43170/50000, Loss: 0.0011804451933131\n",
      "Epoch: 43180/50000, Loss: 0.0012858886038885\n",
      "Epoch: 43190/50000, Loss: 0.0012546824291348\n",
      "Epoch: 43200/50000, Loss: 0.0012604503426701\n",
      "Epoch: 43210/50000, Loss: 0.0014852241147310\n",
      "Epoch: 43220/50000, Loss: 0.0012129686074331\n",
      "Epoch: 43230/50000, Loss: 0.0011707501253113\n",
      "Epoch: 43240/50000, Loss: 0.0011635666014627\n",
      "Epoch: 43250/50000, Loss: 0.0012170624686405\n",
      "Epoch: 43260/50000, Loss: 0.0014425645349547\n",
      "Epoch: 43270/50000, Loss: 0.0012279264628887\n",
      "Epoch: 43280/50000, Loss: 0.0011881483951584\n",
      "Epoch: 43290/50000, Loss: 0.0011618429562077\n",
      "Epoch: 43300/50000, Loss: 0.0011599120916799\n",
      "Epoch: 43310/50000, Loss: 0.0011749955592677\n",
      "Epoch: 43320/50000, Loss: 0.0016968831187114\n",
      "Epoch: 43330/50000, Loss: 0.0014292754931375\n",
      "Epoch: 43340/50000, Loss: 0.0012695469195023\n",
      "Epoch: 43350/50000, Loss: 0.0012048217467964\n",
      "Epoch: 43360/50000, Loss: 0.0012284538242966\n",
      "Epoch: 43370/50000, Loss: 0.0011885041603819\n",
      "Epoch: 43380/50000, Loss: 0.0012236799811944\n",
      "Epoch: 43390/50000, Loss: 0.0013063144870102\n",
      "Epoch: 43400/50000, Loss: 0.0012070753145963\n",
      "Epoch: 43410/50000, Loss: 0.0011862686369568\n",
      "Epoch: 43420/50000, Loss: 0.0013207659358159\n",
      "Epoch: 43430/50000, Loss: 0.0012200538767502\n",
      "Epoch: 43440/50000, Loss: 0.0011843715328723\n",
      "Epoch: 43450/50000, Loss: 0.0011782593792304\n",
      "Epoch: 43460/50000, Loss: 0.0014284853823483\n",
      "Epoch: 43470/50000, Loss: 0.0012286383425817\n",
      "Epoch: 43480/50000, Loss: 0.0012092961696908\n",
      "Epoch: 43490/50000, Loss: 0.0011753245489672\n",
      "Epoch: 43500/50000, Loss: 0.0011638199212030\n",
      "Epoch: 43510/50000, Loss: 0.0011727308155969\n",
      "Epoch: 43520/50000, Loss: 0.0015386741142720\n",
      "Epoch: 43530/50000, Loss: 0.0012527941726148\n",
      "Epoch: 43540/50000, Loss: 0.0012422156287357\n",
      "Epoch: 43550/50000, Loss: 0.0011915104696527\n",
      "Epoch: 43560/50000, Loss: 0.0011673890985548\n",
      "Epoch: 43570/50000, Loss: 0.0011883754050359\n",
      "Epoch: 43580/50000, Loss: 0.0014423069078475\n",
      "Epoch: 43590/50000, Loss: 0.0012167406966910\n",
      "Epoch: 43600/50000, Loss: 0.0012219306081533\n",
      "Epoch: 43610/50000, Loss: 0.0012238714843988\n",
      "Epoch: 43620/50000, Loss: 0.0011646563652903\n",
      "Epoch: 43630/50000, Loss: 0.0011667604558170\n",
      "Epoch: 43640/50000, Loss: 0.0012287856079638\n",
      "Epoch: 43650/50000, Loss: 0.0014336693566293\n",
      "Epoch: 43660/50000, Loss: 0.0012692771852016\n",
      "Epoch: 43670/50000, Loss: 0.0011798366904259\n",
      "Epoch: 43680/50000, Loss: 0.0011623422615230\n",
      "Epoch: 43690/50000, Loss: 0.0011614047689363\n",
      "Epoch: 43700/50000, Loss: 0.0012382265413180\n",
      "Epoch: 43710/50000, Loss: 0.0013934778980911\n",
      "Epoch: 43720/50000, Loss: 0.0012535450514406\n",
      "Epoch: 43730/50000, Loss: 0.0012746358988807\n",
      "Epoch: 43740/50000, Loss: 0.0012422594008967\n",
      "Epoch: 43750/50000, Loss: 0.0011716643348336\n",
      "Epoch: 43760/50000, Loss: 0.0012281724484637\n",
      "Epoch: 43770/50000, Loss: 0.0013058240292594\n",
      "Epoch: 43780/50000, Loss: 0.0012354984646663\n",
      "Epoch: 43790/50000, Loss: 0.0011748229153454\n",
      "Epoch: 43800/50000, Loss: 0.0011711599072441\n",
      "Epoch: 43810/50000, Loss: 0.0011772550642490\n",
      "Epoch: 43820/50000, Loss: 0.0014153327792883\n",
      "Epoch: 43830/50000, Loss: 0.0012161858612671\n",
      "Epoch: 43840/50000, Loss: 0.0011808879207820\n",
      "Epoch: 43850/50000, Loss: 0.0011724705109373\n",
      "Epoch: 43860/50000, Loss: 0.0011739626061171\n",
      "Epoch: 43870/50000, Loss: 0.0013022713828832\n",
      "Epoch: 43880/50000, Loss: 0.0012356590013951\n",
      "Epoch: 43890/50000, Loss: 0.0012100193416700\n",
      "Epoch: 43900/50000, Loss: 0.0011964848963544\n",
      "Epoch: 43910/50000, Loss: 0.0012651305878535\n",
      "Epoch: 43920/50000, Loss: 0.0012940426822752\n",
      "Epoch: 43930/50000, Loss: 0.0012263340177014\n",
      "Epoch: 43940/50000, Loss: 0.0011827112175524\n",
      "Epoch: 43950/50000, Loss: 0.0011927286395803\n",
      "Epoch: 43960/50000, Loss: 0.0012640656204894\n",
      "Epoch: 43970/50000, Loss: 0.0011984315933660\n",
      "Epoch: 43980/50000, Loss: 0.0012176505988464\n",
      "Epoch: 43990/50000, Loss: 0.0013105605030432\n",
      "Epoch: 44000/50000, Loss: 0.0012947556097060\n",
      "Epoch: 44010/50000, Loss: 0.0012893243692815\n",
      "Epoch: 44020/50000, Loss: 0.0011830314761028\n",
      "Epoch: 44030/50000, Loss: 0.0011554288212210\n",
      "Epoch: 44040/50000, Loss: 0.0011578113771975\n",
      "Epoch: 44050/50000, Loss: 0.0011563128791749\n",
      "Epoch: 44060/50000, Loss: 0.0013778118882328\n",
      "Epoch: 44070/50000, Loss: 0.0013002016348764\n",
      "Epoch: 44080/50000, Loss: 0.0012258666101843\n",
      "Epoch: 44090/50000, Loss: 0.0012311855098233\n",
      "Epoch: 44100/50000, Loss: 0.0011681326432154\n",
      "Epoch: 44110/50000, Loss: 0.0011572202201933\n",
      "Epoch: 44120/50000, Loss: 0.0011847845744342\n",
      "Epoch: 44130/50000, Loss: 0.0014840590301901\n",
      "Epoch: 44140/50000, Loss: 0.0012479660799727\n",
      "Epoch: 44150/50000, Loss: 0.0015011735958979\n",
      "Epoch: 44160/50000, Loss: 0.0012578418245539\n",
      "Epoch: 44170/50000, Loss: 0.0011871316237375\n",
      "Epoch: 44180/50000, Loss: 0.0011628053616732\n",
      "Epoch: 44190/50000, Loss: 0.0011542546562850\n",
      "Epoch: 44200/50000, Loss: 0.0011603045277297\n",
      "Epoch: 44210/50000, Loss: 0.0015081458259374\n",
      "Epoch: 44220/50000, Loss: 0.0012702032690868\n",
      "Epoch: 44230/50000, Loss: 0.0012162277707830\n",
      "Epoch: 44240/50000, Loss: 0.0011628090869635\n",
      "Epoch: 44250/50000, Loss: 0.0012054651742801\n",
      "Epoch: 44260/50000, Loss: 0.0014816384064034\n",
      "Epoch: 44270/50000, Loss: 0.0012534540146589\n",
      "Epoch: 44280/50000, Loss: 0.0011965519515797\n",
      "Epoch: 44290/50000, Loss: 0.0012971379328519\n",
      "Epoch: 44300/50000, Loss: 0.0012305382406339\n",
      "Epoch: 44310/50000, Loss: 0.0011865191627294\n",
      "Epoch: 44320/50000, Loss: 0.0011586775071919\n",
      "Epoch: 44330/50000, Loss: 0.0011601360747591\n",
      "Epoch: 44340/50000, Loss: 0.0011835393961519\n",
      "Epoch: 44350/50000, Loss: 0.0013148636789992\n",
      "Epoch: 44360/50000, Loss: 0.0012151560513303\n",
      "Epoch: 44370/50000, Loss: 0.0012531017418951\n",
      "Epoch: 44380/50000, Loss: 0.0012219849741086\n",
      "Epoch: 44390/50000, Loss: 0.0012507626088336\n",
      "Epoch: 44400/50000, Loss: 0.0011978970142081\n",
      "Epoch: 44410/50000, Loss: 0.0012909210054204\n",
      "Epoch: 44420/50000, Loss: 0.0011854625772685\n",
      "Epoch: 44430/50000, Loss: 0.0012184482766315\n",
      "Epoch: 44440/50000, Loss: 0.0012932047247887\n",
      "Epoch: 44450/50000, Loss: 0.0013662036508322\n",
      "Epoch: 44460/50000, Loss: 0.0011866615386680\n",
      "Epoch: 44470/50000, Loss: 0.0011540788691491\n",
      "Epoch: 44480/50000, Loss: 0.0011556474491954\n",
      "Epoch: 44490/50000, Loss: 0.0011723568895832\n",
      "Epoch: 44500/50000, Loss: 0.0014056180370972\n",
      "Epoch: 44510/50000, Loss: 0.0012022667797282\n",
      "Epoch: 44520/50000, Loss: 0.0011802015360445\n",
      "Epoch: 44530/50000, Loss: 0.0011638860451058\n",
      "Epoch: 44540/50000, Loss: 0.0011920118704438\n",
      "Epoch: 44550/50000, Loss: 0.0013249454787001\n",
      "Epoch: 44560/50000, Loss: 0.0012109561357647\n",
      "Epoch: 44570/50000, Loss: 0.0012719755759463\n",
      "Epoch: 44580/50000, Loss: 0.0012705923290923\n",
      "Epoch: 44590/50000, Loss: 0.0013311036163941\n",
      "Epoch: 44600/50000, Loss: 0.0012074831174687\n",
      "Epoch: 44610/50000, Loss: 0.0011640314478427\n",
      "Epoch: 44620/50000, Loss: 0.0011597822885960\n",
      "Epoch: 44630/50000, Loss: 0.0011638789437711\n",
      "Epoch: 44640/50000, Loss: 0.0012234927853569\n",
      "Epoch: 44650/50000, Loss: 0.0012895562686026\n",
      "Epoch: 44660/50000, Loss: 0.0012755508068949\n",
      "Epoch: 44670/50000, Loss: 0.0013493412407115\n",
      "Epoch: 44680/50000, Loss: 0.0011917401570827\n",
      "Epoch: 44690/50000, Loss: 0.0011622288729995\n",
      "Epoch: 44700/50000, Loss: 0.0011692603584379\n",
      "Epoch: 44710/50000, Loss: 0.0012880796566606\n",
      "Epoch: 44720/50000, Loss: 0.0012786859879270\n",
      "Epoch: 44730/50000, Loss: 0.0012076654238626\n",
      "Epoch: 44740/50000, Loss: 0.0011614094255492\n",
      "Epoch: 44750/50000, Loss: 0.0011428140569478\n",
      "Epoch: 44760/50000, Loss: 0.0011481300462037\n",
      "Epoch: 44770/50000, Loss: 0.0012124740751460\n",
      "Epoch: 44780/50000, Loss: 0.0015731048770249\n",
      "Epoch: 44790/50000, Loss: 0.0012389546027407\n",
      "Epoch: 44800/50000, Loss: 0.0011750063858926\n",
      "Epoch: 44810/50000, Loss: 0.0011696629226208\n",
      "Epoch: 44820/50000, Loss: 0.0012980037136003\n",
      "Epoch: 44830/50000, Loss: 0.0012191417627037\n",
      "Epoch: 44840/50000, Loss: 0.0012074959231541\n",
      "Epoch: 44850/50000, Loss: 0.0011653273832053\n",
      "Epoch: 44860/50000, Loss: 0.0011542855063453\n",
      "Epoch: 44870/50000, Loss: 0.0013656241353601\n",
      "Epoch: 44880/50000, Loss: 0.0011938062962145\n",
      "Epoch: 44890/50000, Loss: 0.0012212592409924\n",
      "Epoch: 44900/50000, Loss: 0.0013808560324833\n",
      "Epoch: 44910/50000, Loss: 0.0011935275979340\n",
      "Epoch: 44920/50000, Loss: 0.0011568284826353\n",
      "Epoch: 44930/50000, Loss: 0.0011529969051480\n",
      "Epoch: 44940/50000, Loss: 0.0011466098949313\n",
      "Epoch: 44950/50000, Loss: 0.0011857171775773\n",
      "Epoch: 44960/50000, Loss: 0.0015213408041745\n",
      "Epoch: 44970/50000, Loss: 0.0013321816222742\n",
      "Epoch: 44980/50000, Loss: 0.0012231195578352\n",
      "Epoch: 44990/50000, Loss: 0.0011680359020829\n",
      "Epoch: 45000/50000, Loss: 0.0011564594460651\n",
      "Epoch: 45010/50000, Loss: 0.0011671718675643\n",
      "Epoch: 45020/50000, Loss: 0.0013282384024933\n",
      "Epoch: 45030/50000, Loss: 0.0012769403401762\n",
      "Epoch: 45040/50000, Loss: 0.0012411688221619\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 45050/50000, Loss: 0.0011965638259426\n",
      "Epoch: 45060/50000, Loss: 0.0011863363906741\n",
      "Epoch: 45070/50000, Loss: 0.0012546961661428\n",
      "Epoch: 45080/50000, Loss: 0.0011896968353540\n",
      "Epoch: 45090/50000, Loss: 0.0013265821617097\n",
      "Epoch: 45100/50000, Loss: 0.0011926363222301\n",
      "Epoch: 45110/50000, Loss: 0.0011786503018811\n",
      "Epoch: 45120/50000, Loss: 0.0011610918445513\n",
      "Epoch: 45130/50000, Loss: 0.0011764772934839\n",
      "Epoch: 45140/50000, Loss: 0.0015185875818133\n",
      "Epoch: 45150/50000, Loss: 0.0012042802991346\n",
      "Epoch: 45160/50000, Loss: 0.0011863757390529\n",
      "Epoch: 45170/50000, Loss: 0.0012446832843125\n",
      "Epoch: 45180/50000, Loss: 0.0011979604605585\n",
      "Epoch: 45190/50000, Loss: 0.0011476420331746\n",
      "Epoch: 45200/50000, Loss: 0.0011673859553412\n",
      "Epoch: 45210/50000, Loss: 0.0011719763278961\n",
      "Epoch: 45220/50000, Loss: 0.0014340714551508\n",
      "Epoch: 45230/50000, Loss: 0.0014259015442804\n",
      "Epoch: 45240/50000, Loss: 0.0012338766828179\n",
      "Epoch: 45250/50000, Loss: 0.0011677005095407\n",
      "Epoch: 45260/50000, Loss: 0.0011591722723097\n",
      "Epoch: 45270/50000, Loss: 0.0011458415538073\n",
      "Epoch: 45280/50000, Loss: 0.0011400952935219\n",
      "Epoch: 45290/50000, Loss: 0.0011528040049598\n",
      "Epoch: 45300/50000, Loss: 0.0014370208373293\n",
      "Epoch: 45310/50000, Loss: 0.0012350247707218\n",
      "Epoch: 45320/50000, Loss: 0.0011704667704180\n",
      "Epoch: 45330/50000, Loss: 0.0011609721696004\n",
      "Epoch: 45340/50000, Loss: 0.0011641045566648\n",
      "Epoch: 45350/50000, Loss: 0.0013558019418269\n",
      "Epoch: 45360/50000, Loss: 0.0012786232400686\n",
      "Epoch: 45370/50000, Loss: 0.0012265044497326\n",
      "Epoch: 45380/50000, Loss: 0.0011534529039636\n",
      "Epoch: 45390/50000, Loss: 0.0011435621418059\n",
      "Epoch: 45400/50000, Loss: 0.0011426450219005\n",
      "Epoch: 45410/50000, Loss: 0.0011668442748487\n",
      "Epoch: 45420/50000, Loss: 0.0013585586566478\n",
      "Epoch: 45430/50000, Loss: 0.0011790791759267\n",
      "Epoch: 45440/50000, Loss: 0.0011466356227174\n",
      "Epoch: 45450/50000, Loss: 0.0011568656191230\n",
      "Epoch: 45460/50000, Loss: 0.0018098559230566\n",
      "Epoch: 45470/50000, Loss: 0.0016730979550630\n",
      "Epoch: 45480/50000, Loss: 0.0012526044156402\n",
      "Epoch: 45490/50000, Loss: 0.0011490726610646\n",
      "Epoch: 45500/50000, Loss: 0.0011500181863084\n",
      "Epoch: 45510/50000, Loss: 0.0011443189578131\n",
      "Epoch: 45520/50000, Loss: 0.0011359503259882\n",
      "Epoch: 45530/50000, Loss: 0.0011370074935257\n",
      "Epoch: 45540/50000, Loss: 0.0011512067867443\n",
      "Epoch: 45550/50000, Loss: 0.0014953885693103\n",
      "Epoch: 45560/50000, Loss: 0.0012300049420446\n",
      "Epoch: 45570/50000, Loss: 0.0011873625917360\n",
      "Epoch: 45580/50000, Loss: 0.0011580552672967\n",
      "Epoch: 45590/50000, Loss: 0.0011522280983627\n",
      "Epoch: 45600/50000, Loss: 0.0013706419849768\n",
      "Epoch: 45610/50000, Loss: 0.0011684251949191\n",
      "Epoch: 45620/50000, Loss: 0.0012020379072055\n",
      "Epoch: 45630/50000, Loss: 0.0012314652558416\n",
      "Epoch: 45640/50000, Loss: 0.0011443957919255\n",
      "Epoch: 45650/50000, Loss: 0.0011555147357285\n",
      "Epoch: 45660/50000, Loss: 0.0011490683536977\n",
      "Epoch: 45670/50000, Loss: 0.0012358196545392\n",
      "Epoch: 45680/50000, Loss: 0.0012747023720294\n",
      "Epoch: 45690/50000, Loss: 0.0012686749687418\n",
      "Epoch: 45700/50000, Loss: 0.0012083962792531\n",
      "Epoch: 45710/50000, Loss: 0.0011482164263725\n",
      "Epoch: 45720/50000, Loss: 0.0011481847614050\n",
      "Epoch: 45730/50000, Loss: 0.0011664781486616\n",
      "Epoch: 45740/50000, Loss: 0.0015143260825425\n",
      "Epoch: 45750/50000, Loss: 0.0013288354966789\n",
      "Epoch: 45760/50000, Loss: 0.0012307341676205\n",
      "Epoch: 45770/50000, Loss: 0.0011599995195866\n",
      "Epoch: 45780/50000, Loss: 0.0011546008754522\n",
      "Epoch: 45790/50000, Loss: 0.0012021701550111\n",
      "Epoch: 45800/50000, Loss: 0.0014730998082086\n",
      "Epoch: 45810/50000, Loss: 0.0012009057682008\n",
      "Epoch: 45820/50000, Loss: 0.0011559437261894\n",
      "Epoch: 45830/50000, Loss: 0.0012049683136865\n",
      "Epoch: 45840/50000, Loss: 0.0012865444878116\n",
      "Epoch: 45850/50000, Loss: 0.0012445638421923\n",
      "Epoch: 45860/50000, Loss: 0.0011871601454914\n",
      "Epoch: 45870/50000, Loss: 0.0011681920150295\n",
      "Epoch: 45880/50000, Loss: 0.0011401273077354\n",
      "Epoch: 45890/50000, Loss: 0.0011436608619988\n",
      "Epoch: 45900/50000, Loss: 0.0012157191522419\n",
      "Epoch: 45910/50000, Loss: 0.0016645926516503\n",
      "Epoch: 45920/50000, Loss: 0.0013245984446257\n",
      "Epoch: 45930/50000, Loss: 0.0012094671837986\n",
      "Epoch: 45940/50000, Loss: 0.0011613608803600\n",
      "Epoch: 45950/50000, Loss: 0.0011474919738248\n",
      "Epoch: 45960/50000, Loss: 0.0012588386889547\n",
      "Epoch: 45970/50000, Loss: 0.0013419163879007\n",
      "Epoch: 45980/50000, Loss: 0.0011910807806998\n",
      "Epoch: 45990/50000, Loss: 0.0011812513694167\n",
      "Epoch: 46000/50000, Loss: 0.0011434685438871\n",
      "Epoch: 46010/50000, Loss: 0.0011467984877527\n",
      "Epoch: 46020/50000, Loss: 0.0013048849068582\n",
      "Epoch: 46030/50000, Loss: 0.0011403330136091\n",
      "Epoch: 46040/50000, Loss: 0.0011447878787294\n",
      "Epoch: 46050/50000, Loss: 0.0011545999441296\n",
      "Epoch: 46060/50000, Loss: 0.0013059135526419\n",
      "Epoch: 46070/50000, Loss: 0.0012289856094867\n",
      "Epoch: 46080/50000, Loss: 0.0011932565830648\n",
      "Epoch: 46090/50000, Loss: 0.0011525275185704\n",
      "Epoch: 46100/50000, Loss: 0.0011379645438865\n",
      "Epoch: 46110/50000, Loss: 0.0011451619211584\n",
      "Epoch: 46120/50000, Loss: 0.0012932338286191\n",
      "Epoch: 46130/50000, Loss: 0.0013708351179957\n",
      "Epoch: 46140/50000, Loss: 0.0012288080761209\n",
      "Epoch: 46150/50000, Loss: 0.0011584177846089\n",
      "Epoch: 46160/50000, Loss: 0.0011413402389735\n",
      "Epoch: 46170/50000, Loss: 0.0011379832867533\n",
      "Epoch: 46180/50000, Loss: 0.0011371434666216\n",
      "Epoch: 46190/50000, Loss: 0.0012913675745949\n",
      "Epoch: 46200/50000, Loss: 0.0013879014877602\n",
      "Epoch: 46210/50000, Loss: 0.0011973393848166\n",
      "Epoch: 46220/50000, Loss: 0.0011869543232024\n",
      "Epoch: 46230/50000, Loss: 0.0011473235208541\n",
      "Epoch: 46240/50000, Loss: 0.0011344598606229\n",
      "Epoch: 46250/50000, Loss: 0.0011344968806952\n",
      "Epoch: 46260/50000, Loss: 0.0011690254323184\n",
      "Epoch: 46270/50000, Loss: 0.0014768089167774\n",
      "Epoch: 46280/50000, Loss: 0.0013770428486168\n",
      "Epoch: 46290/50000, Loss: 0.0012946209171787\n",
      "Epoch: 46300/50000, Loss: 0.0011974327499047\n",
      "Epoch: 46310/50000, Loss: 0.0011452065082267\n",
      "Epoch: 46320/50000, Loss: 0.0011442949762568\n",
      "Epoch: 46330/50000, Loss: 0.0011684574419633\n",
      "Epoch: 46340/50000, Loss: 0.0013327241176739\n",
      "Epoch: 46350/50000, Loss: 0.0011410224251449\n",
      "Epoch: 46360/50000, Loss: 0.0011742915958166\n",
      "Epoch: 46370/50000, Loss: 0.0011631073430181\n",
      "Epoch: 46380/50000, Loss: 0.0013715015957132\n",
      "Epoch: 46390/50000, Loss: 0.0011807219125330\n",
      "Epoch: 46400/50000, Loss: 0.0011402585078031\n",
      "Epoch: 46410/50000, Loss: 0.0011496295919642\n",
      "Epoch: 46420/50000, Loss: 0.0012423914158717\n",
      "Epoch: 46430/50000, Loss: 0.0014181509613991\n",
      "Epoch: 46440/50000, Loss: 0.0013250351184979\n",
      "Epoch: 46450/50000, Loss: 0.0011723700445145\n",
      "Epoch: 46460/50000, Loss: 0.0011426379205659\n",
      "Epoch: 46470/50000, Loss: 0.0011359757045284\n",
      "Epoch: 46480/50000, Loss: 0.0011644391342998\n",
      "Epoch: 46490/50000, Loss: 0.0013647546293214\n",
      "Epoch: 46500/50000, Loss: 0.0011617700802162\n",
      "Epoch: 46510/50000, Loss: 0.0012056519044563\n",
      "Epoch: 46520/50000, Loss: 0.0013222441775724\n",
      "Epoch: 46530/50000, Loss: 0.0011515970109031\n",
      "Epoch: 46540/50000, Loss: 0.0011723471106961\n",
      "Epoch: 46550/50000, Loss: 0.0011539406841621\n",
      "Epoch: 46560/50000, Loss: 0.0012391043128446\n",
      "Epoch: 46570/50000, Loss: 0.0012914139078930\n",
      "Epoch: 46580/50000, Loss: 0.0011831320589408\n",
      "Epoch: 46590/50000, Loss: 0.0011664712801576\n",
      "Epoch: 46600/50000, Loss: 0.0012778176460415\n",
      "Epoch: 46610/50000, Loss: 0.0012693498283625\n",
      "Epoch: 46620/50000, Loss: 0.0012027382617816\n",
      "Epoch: 46630/50000, Loss: 0.0011652030516416\n",
      "Epoch: 46640/50000, Loss: 0.0011515205260366\n",
      "Epoch: 46650/50000, Loss: 0.0012462639715523\n",
      "Epoch: 46660/50000, Loss: 0.0013167120050639\n",
      "Epoch: 46670/50000, Loss: 0.0012359884567559\n",
      "Epoch: 46680/50000, Loss: 0.0012014777166769\n",
      "Epoch: 46690/50000, Loss: 0.0011758003383875\n",
      "Epoch: 46700/50000, Loss: 0.0011873582843691\n",
      "Epoch: 46710/50000, Loss: 0.0011564351152629\n",
      "Epoch: 46720/50000, Loss: 0.0011774313170463\n",
      "Epoch: 46730/50000, Loss: 0.0014779010089114\n",
      "Epoch: 46740/50000, Loss: 0.0012379705440253\n",
      "Epoch: 46750/50000, Loss: 0.0011880968231708\n",
      "Epoch: 46760/50000, Loss: 0.0011714830761775\n",
      "Epoch: 46770/50000, Loss: 0.0013001208426431\n",
      "Epoch: 46780/50000, Loss: 0.0012229902204126\n",
      "Epoch: 46790/50000, Loss: 0.0011853241594508\n",
      "Epoch: 46800/50000, Loss: 0.0011698652524501\n",
      "Epoch: 46810/50000, Loss: 0.0011580302380025\n",
      "Epoch: 46820/50000, Loss: 0.0012178864562884\n",
      "Epoch: 46830/50000, Loss: 0.0012761825928465\n",
      "Epoch: 46840/50000, Loss: 0.0012710294686258\n",
      "Epoch: 46850/50000, Loss: 0.0011533492943272\n",
      "Epoch: 46860/50000, Loss: 0.0012456248514354\n",
      "Epoch: 46870/50000, Loss: 0.0012463876046240\n",
      "Epoch: 46880/50000, Loss: 0.0011483696289361\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 46890/50000, Loss: 0.0011468983720988\n",
      "Epoch: 46900/50000, Loss: 0.0011319988407195\n",
      "Epoch: 46910/50000, Loss: 0.0012756806099787\n",
      "Epoch: 46920/50000, Loss: 0.0014312722487375\n",
      "Epoch: 46930/50000, Loss: 0.0013342751190066\n",
      "Epoch: 46940/50000, Loss: 0.0011619874276221\n",
      "Epoch: 46950/50000, Loss: 0.0011454095365480\n",
      "Epoch: 46960/50000, Loss: 0.0011288744863123\n",
      "Epoch: 46970/50000, Loss: 0.0011487513547763\n",
      "Epoch: 46980/50000, Loss: 0.0014609039062634\n",
      "Epoch: 46990/50000, Loss: 0.0012225944083184\n",
      "Epoch: 47000/50000, Loss: 0.0011632230598480\n",
      "Epoch: 47010/50000, Loss: 0.0011393490713090\n",
      "Epoch: 47020/50000, Loss: 0.0011565085733309\n",
      "Epoch: 47030/50000, Loss: 0.0018242493970320\n",
      "Epoch: 47040/50000, Loss: 0.0013713744701818\n",
      "Epoch: 47050/50000, Loss: 0.0011659407755360\n",
      "Epoch: 47060/50000, Loss: 0.0011354947928339\n",
      "Epoch: 47070/50000, Loss: 0.0011370889842510\n",
      "Epoch: 47080/50000, Loss: 0.0012067342177033\n",
      "Epoch: 47090/50000, Loss: 0.0012627497781068\n",
      "Epoch: 47100/50000, Loss: 0.0011654851259664\n",
      "Epoch: 47110/50000, Loss: 0.0011476923245937\n",
      "Epoch: 47120/50000, Loss: 0.0011290363036096\n",
      "Epoch: 47130/50000, Loss: 0.0011255820281804\n",
      "Epoch: 47140/50000, Loss: 0.0011293917195871\n",
      "Epoch: 47150/50000, Loss: 0.0012270952574909\n",
      "Epoch: 47160/50000, Loss: 0.0013929320266470\n",
      "Epoch: 47170/50000, Loss: 0.0012310454621911\n",
      "Epoch: 47180/50000, Loss: 0.0013772577513009\n",
      "Epoch: 47190/50000, Loss: 0.0011679127346724\n",
      "Epoch: 47200/50000, Loss: 0.0011687322985381\n",
      "Epoch: 47210/50000, Loss: 0.0011423052055761\n",
      "Epoch: 47220/50000, Loss: 0.0011261167237535\n",
      "Epoch: 47230/50000, Loss: 0.0011364425299689\n",
      "Epoch: 47240/50000, Loss: 0.0013171569444239\n",
      "Epoch: 47250/50000, Loss: 0.0011845096014440\n",
      "Epoch: 47260/50000, Loss: 0.0011764219962060\n",
      "Epoch: 47270/50000, Loss: 0.0011272730771452\n",
      "Epoch: 47280/50000, Loss: 0.0011282969499007\n",
      "Epoch: 47290/50000, Loss: 0.0011491685872898\n",
      "Epoch: 47300/50000, Loss: 0.0013410119572654\n",
      "Epoch: 47310/50000, Loss: 0.0013059191405773\n",
      "Epoch: 47320/50000, Loss: 0.0011665327474475\n",
      "Epoch: 47330/50000, Loss: 0.0011915031354874\n",
      "Epoch: 47340/50000, Loss: 0.0012951849494129\n",
      "Epoch: 47350/50000, Loss: 0.0011514353100210\n",
      "Epoch: 47360/50000, Loss: 0.0011473490158096\n",
      "Epoch: 47370/50000, Loss: 0.0011391998268664\n",
      "Epoch: 47380/50000, Loss: 0.0011345737148076\n",
      "Epoch: 47390/50000, Loss: 0.0012043510796502\n",
      "Epoch: 47400/50000, Loss: 0.0015517214778811\n",
      "Epoch: 47410/50000, Loss: 0.0012174922740087\n",
      "Epoch: 47420/50000, Loss: 0.0011940443655476\n",
      "Epoch: 47430/50000, Loss: 0.0012621438363567\n",
      "Epoch: 47440/50000, Loss: 0.0011374047026038\n",
      "Epoch: 47450/50000, Loss: 0.0011509436881170\n",
      "Epoch: 47460/50000, Loss: 0.0011328909313306\n",
      "Epoch: 47470/50000, Loss: 0.0011691910913214\n",
      "Epoch: 47480/50000, Loss: 0.0013803495094180\n",
      "Epoch: 47490/50000, Loss: 0.0013056545285508\n",
      "Epoch: 47500/50000, Loss: 0.0011768999975175\n",
      "Epoch: 47510/50000, Loss: 0.0011653745314106\n",
      "Epoch: 47520/50000, Loss: 0.0011890352470800\n",
      "Epoch: 47530/50000, Loss: 0.0012114397250116\n",
      "Epoch: 47540/50000, Loss: 0.0012075165286660\n",
      "Epoch: 47550/50000, Loss: 0.0011527119204402\n",
      "Epoch: 47560/50000, Loss: 0.0011782051296905\n",
      "Epoch: 47570/50000, Loss: 0.0017003103857860\n",
      "Epoch: 47580/50000, Loss: 0.0013647628948092\n",
      "Epoch: 47590/50000, Loss: 0.0011654656846076\n",
      "Epoch: 47600/50000, Loss: 0.0011331676505506\n",
      "Epoch: 47610/50000, Loss: 0.0011300345649943\n",
      "Epoch: 47620/50000, Loss: 0.0011356214527041\n",
      "Epoch: 47630/50000, Loss: 0.0012565901270136\n",
      "Epoch: 47640/50000, Loss: 0.0012646041577682\n",
      "Epoch: 47650/50000, Loss: 0.0011948691681027\n",
      "Epoch: 47660/50000, Loss: 0.0011508750030771\n",
      "Epoch: 47670/50000, Loss: 0.0011318202596158\n",
      "Epoch: 47680/50000, Loss: 0.0011293783318251\n",
      "Epoch: 47690/50000, Loss: 0.0013238240499049\n",
      "Epoch: 47700/50000, Loss: 0.0013104141689837\n",
      "Epoch: 47710/50000, Loss: 0.0012360453838482\n",
      "Epoch: 47720/50000, Loss: 0.0011624507606030\n",
      "Epoch: 47730/50000, Loss: 0.0011321417987347\n",
      "Epoch: 47740/50000, Loss: 0.0011286779772490\n",
      "Epoch: 47750/50000, Loss: 0.0011281608603895\n",
      "Epoch: 47760/50000, Loss: 0.0012010599020869\n",
      "Epoch: 47770/50000, Loss: 0.0013802789617330\n",
      "Epoch: 47780/50000, Loss: 0.0012307254364714\n",
      "Epoch: 47790/50000, Loss: 0.0012050955556333\n",
      "Epoch: 47800/50000, Loss: 0.0012937150895596\n",
      "Epoch: 47810/50000, Loss: 0.0011800596257672\n",
      "Epoch: 47820/50000, Loss: 0.0012184078805149\n",
      "Epoch: 47830/50000, Loss: 0.0011451720492914\n",
      "Epoch: 47840/50000, Loss: 0.0011261593317613\n",
      "Epoch: 47850/50000, Loss: 0.0011397505877540\n",
      "Epoch: 47860/50000, Loss: 0.0012331171892583\n",
      "Epoch: 47870/50000, Loss: 0.0013433598214760\n",
      "Epoch: 47880/50000, Loss: 0.0012017438421026\n",
      "Epoch: 47890/50000, Loss: 0.0011521553387865\n",
      "Epoch: 47900/50000, Loss: 0.0011428529396653\n",
      "Epoch: 47910/50000, Loss: 0.0011972403153777\n",
      "Epoch: 47920/50000, Loss: 0.0015041283331811\n",
      "Epoch: 47930/50000, Loss: 0.0012381057022139\n",
      "Epoch: 47940/50000, Loss: 0.0011632191017270\n",
      "Epoch: 47950/50000, Loss: 0.0011374800233170\n",
      "Epoch: 47960/50000, Loss: 0.0011406647972763\n",
      "Epoch: 47970/50000, Loss: 0.0012854968663305\n",
      "Epoch: 47980/50000, Loss: 0.0013180860551074\n",
      "Epoch: 47990/50000, Loss: 0.0012241038493812\n",
      "Epoch: 48000/50000, Loss: 0.0011831489391625\n",
      "Epoch: 48010/50000, Loss: 0.0011557944817469\n",
      "Epoch: 48020/50000, Loss: 0.0011657545110211\n",
      "Epoch: 48030/50000, Loss: 0.0012290395097807\n",
      "Epoch: 48040/50000, Loss: 0.0012034701649100\n",
      "Epoch: 48050/50000, Loss: 0.0011325887171552\n",
      "Epoch: 48060/50000, Loss: 0.0011926760198548\n",
      "Epoch: 48070/50000, Loss: 0.0012422861764207\n",
      "Epoch: 48080/50000, Loss: 0.0012324766721576\n",
      "Epoch: 48090/50000, Loss: 0.0011904573766515\n",
      "Epoch: 48100/50000, Loss: 0.0012345828581601\n",
      "Epoch: 48110/50000, Loss: 0.0012165105435997\n",
      "Epoch: 48120/50000, Loss: 0.0011706284713000\n",
      "Epoch: 48130/50000, Loss: 0.0011427589925006\n",
      "Epoch: 48140/50000, Loss: 0.0012348417658359\n",
      "Epoch: 48150/50000, Loss: 0.0013048382243142\n",
      "Epoch: 48160/50000, Loss: 0.0012040269793943\n",
      "Epoch: 48170/50000, Loss: 0.0011592028895393\n",
      "Epoch: 48180/50000, Loss: 0.0011735021835193\n",
      "Epoch: 48190/50000, Loss: 0.0012520104646683\n",
      "Epoch: 48200/50000, Loss: 0.0011685853824019\n",
      "Epoch: 48210/50000, Loss: 0.0012211684370413\n",
      "Epoch: 48220/50000, Loss: 0.0012260009534657\n",
      "Epoch: 48230/50000, Loss: 0.0011777022155002\n",
      "Epoch: 48240/50000, Loss: 0.0012383040739223\n",
      "Epoch: 48250/50000, Loss: 0.0012741989921778\n",
      "Epoch: 48260/50000, Loss: 0.0011773853329942\n",
      "Epoch: 48270/50000, Loss: 0.0011346233077347\n",
      "Epoch: 48280/50000, Loss: 0.0011650508968160\n",
      "Epoch: 48290/50000, Loss: 0.0013027609093115\n",
      "Epoch: 48300/50000, Loss: 0.0011908373562619\n",
      "Epoch: 48310/50000, Loss: 0.0011902955593541\n",
      "Epoch: 48320/50000, Loss: 0.0012065048795193\n",
      "Epoch: 48330/50000, Loss: 0.0012422093423083\n",
      "Epoch: 48340/50000, Loss: 0.0011453208280727\n",
      "Epoch: 48350/50000, Loss: 0.0011621596058831\n",
      "Epoch: 48360/50000, Loss: 0.0011904654093087\n",
      "Epoch: 48370/50000, Loss: 0.0012646815739572\n",
      "Epoch: 48380/50000, Loss: 0.0011686634970829\n",
      "Epoch: 48390/50000, Loss: 0.0012663371162489\n",
      "Epoch: 48400/50000, Loss: 0.0012033666716889\n",
      "Epoch: 48410/50000, Loss: 0.0011901796096936\n",
      "Epoch: 48420/50000, Loss: 0.0012732745381072\n",
      "Epoch: 48430/50000, Loss: 0.0011413812171668\n",
      "Epoch: 48440/50000, Loss: 0.0011772066354752\n",
      "Epoch: 48450/50000, Loss: 0.0014495339710265\n",
      "Epoch: 48460/50000, Loss: 0.0012202983489260\n",
      "Epoch: 48470/50000, Loss: 0.0011576433898881\n",
      "Epoch: 48480/50000, Loss: 0.0011820012005046\n",
      "Epoch: 48490/50000, Loss: 0.0012634476879612\n",
      "Epoch: 48500/50000, Loss: 0.0011174329556525\n",
      "Epoch: 48510/50000, Loss: 0.0011457835789770\n",
      "Epoch: 48520/50000, Loss: 0.0011631299275905\n",
      "Epoch: 48530/50000, Loss: 0.0014557994436473\n",
      "Epoch: 48540/50000, Loss: 0.0012102407636121\n",
      "Epoch: 48550/50000, Loss: 0.0012181992642581\n",
      "Epoch: 48560/50000, Loss: 0.0012860558927059\n",
      "Epoch: 48570/50000, Loss: 0.0012107728980482\n",
      "Epoch: 48580/50000, Loss: 0.0011637608986348\n",
      "Epoch: 48590/50000, Loss: 0.0011552065843716\n",
      "Epoch: 48600/50000, Loss: 0.0012156533775851\n",
      "Epoch: 48610/50000, Loss: 0.0012723233085126\n",
      "Epoch: 48620/50000, Loss: 0.0011393680470064\n",
      "Epoch: 48630/50000, Loss: 0.0011944939615205\n",
      "Epoch: 48640/50000, Loss: 0.0011392607120797\n",
      "Epoch: 48650/50000, Loss: 0.0011916183866560\n",
      "Epoch: 48660/50000, Loss: 0.0012782231206074\n",
      "Epoch: 48670/50000, Loss: 0.0011936828959733\n",
      "Epoch: 48680/50000, Loss: 0.0011379276402295\n",
      "Epoch: 48690/50000, Loss: 0.0012415789533406\n",
      "Epoch: 48700/50000, Loss: 0.0012786273146048\n",
      "Epoch: 48710/50000, Loss: 0.0012959730811417\n",
      "Epoch: 48720/50000, Loss: 0.0012127377558500\n",
      "Epoch: 48730/50000, Loss: 0.0011485564755276\n",
      "Epoch: 48740/50000, Loss: 0.0011231421958655\n",
      "Epoch: 48750/50000, Loss: 0.0011243831831962\n",
      "Epoch: 48760/50000, Loss: 0.0013054815353826\n",
      "Epoch: 48770/50000, Loss: 0.0012383785797283\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 48780/50000, Loss: 0.0011845257831737\n",
      "Epoch: 48790/50000, Loss: 0.0011904245475307\n",
      "Epoch: 48800/50000, Loss: 0.0011774073354900\n",
      "Epoch: 48810/50000, Loss: 0.0011795653263107\n",
      "Epoch: 48820/50000, Loss: 0.0011825599940494\n",
      "Epoch: 48830/50000, Loss: 0.0011353675508872\n",
      "Epoch: 48840/50000, Loss: 0.0011562852887437\n",
      "Epoch: 48850/50000, Loss: 0.0013968762941658\n",
      "Epoch: 48860/50000, Loss: 0.0012558775488287\n",
      "Epoch: 48870/50000, Loss: 0.0011651935055852\n",
      "Epoch: 48880/50000, Loss: 0.0011428311700001\n",
      "Epoch: 48890/50000, Loss: 0.0012089804513380\n",
      "Epoch: 48900/50000, Loss: 0.0012653977610171\n",
      "Epoch: 48910/50000, Loss: 0.0012219626223668\n",
      "Epoch: 48920/50000, Loss: 0.0011416110210121\n",
      "Epoch: 48930/50000, Loss: 0.0011212105164304\n",
      "Epoch: 48940/50000, Loss: 0.0011498010717332\n",
      "Epoch: 48950/50000, Loss: 0.0013971227454022\n",
      "Epoch: 48960/50000, Loss: 0.0011554411612451\n",
      "Epoch: 48970/50000, Loss: 0.0011652460088953\n",
      "Epoch: 48980/50000, Loss: 0.0011524298461154\n",
      "Epoch: 48990/50000, Loss: 0.0011579997371882\n",
      "Epoch: 49000/50000, Loss: 0.0012352473568171\n",
      "Epoch: 49010/50000, Loss: 0.0012056046398357\n",
      "Epoch: 49020/50000, Loss: 0.0012443831656128\n",
      "Epoch: 49030/50000, Loss: 0.0012120760511607\n",
      "Epoch: 49040/50000, Loss: 0.0011942901182920\n",
      "Epoch: 49050/50000, Loss: 0.0011767060495913\n",
      "Epoch: 49060/50000, Loss: 0.0011253209086135\n",
      "Epoch: 49070/50000, Loss: 0.0011349915293977\n",
      "Epoch: 49080/50000, Loss: 0.0012752279872075\n",
      "Epoch: 49090/50000, Loss: 0.0012497935676947\n",
      "Epoch: 49100/50000, Loss: 0.0012481058947742\n",
      "Epoch: 49110/50000, Loss: 0.0012364153517410\n",
      "Epoch: 49120/50000, Loss: 0.0011585992760956\n",
      "Epoch: 49130/50000, Loss: 0.0012040970614180\n",
      "Epoch: 49140/50000, Loss: 0.0012782644480467\n",
      "Epoch: 49150/50000, Loss: 0.0011754035949707\n",
      "Epoch: 49160/50000, Loss: 0.0011358687188476\n",
      "Epoch: 49170/50000, Loss: 0.0011226362548769\n",
      "Epoch: 49180/50000, Loss: 0.0012511439854279\n",
      "Epoch: 49190/50000, Loss: 0.0012727829162031\n",
      "Epoch: 49200/50000, Loss: 0.0011524847941473\n",
      "Epoch: 49210/50000, Loss: 0.0011434818152338\n",
      "Epoch: 49220/50000, Loss: 0.0012000843416899\n",
      "Epoch: 49230/50000, Loss: 0.0013524729292840\n",
      "Epoch: 49240/50000, Loss: 0.0011598258279264\n",
      "Epoch: 49250/50000, Loss: 0.0011153382947668\n",
      "Epoch: 49260/50000, Loss: 0.0011280511971563\n",
      "Epoch: 49270/50000, Loss: 0.0011254209093750\n",
      "Epoch: 49280/50000, Loss: 0.0012648416450247\n",
      "Epoch: 49290/50000, Loss: 0.0012695852201432\n",
      "Epoch: 49300/50000, Loss: 0.0012221476063132\n",
      "Epoch: 49310/50000, Loss: 0.0011598312994465\n",
      "Epoch: 49320/50000, Loss: 0.0011690548853949\n",
      "Epoch: 49330/50000, Loss: 0.0012100465828553\n",
      "Epoch: 49340/50000, Loss: 0.0011730750557035\n",
      "Epoch: 49350/50000, Loss: 0.0011177210835740\n",
      "Epoch: 49360/50000, Loss: 0.0012466921471059\n",
      "Epoch: 49370/50000, Loss: 0.0013458196772262\n",
      "Epoch: 49380/50000, Loss: 0.0011848979629576\n",
      "Epoch: 49390/50000, Loss: 0.0011370904976502\n",
      "Epoch: 49400/50000, Loss: 0.0011364441597834\n",
      "Epoch: 49410/50000, Loss: 0.0012403143336996\n",
      "Epoch: 49420/50000, Loss: 0.0012090406380594\n",
      "Epoch: 49430/50000, Loss: 0.0012068860232830\n",
      "Epoch: 49440/50000, Loss: 0.0011396078625694\n",
      "Epoch: 49450/50000, Loss: 0.0011106913443655\n",
      "Epoch: 49460/50000, Loss: 0.0011161769507453\n",
      "Epoch: 49470/50000, Loss: 0.0011508520692587\n",
      "Epoch: 49480/50000, Loss: 0.0013654192443937\n",
      "Epoch: 49490/50000, Loss: 0.0013681418495253\n",
      "Epoch: 49500/50000, Loss: 0.0011996314860880\n",
      "Epoch: 49510/50000, Loss: 0.0012257342459634\n",
      "Epoch: 49520/50000, Loss: 0.0011701829498634\n",
      "Epoch: 49530/50000, Loss: 0.0011458392255008\n",
      "Epoch: 49540/50000, Loss: 0.0011534278746694\n",
      "Epoch: 49550/50000, Loss: 0.0012263183016330\n",
      "Epoch: 49560/50000, Loss: 0.0012300745584071\n",
      "Epoch: 49570/50000, Loss: 0.0011584041640162\n",
      "Epoch: 49580/50000, Loss: 0.0012807436287403\n",
      "Epoch: 49590/50000, Loss: 0.0011805549729615\n",
      "Epoch: 49600/50000, Loss: 0.0011415922781453\n",
      "Epoch: 49610/50000, Loss: 0.0011568653862923\n",
      "Epoch: 49620/50000, Loss: 0.0013091220753267\n",
      "Epoch: 49630/50000, Loss: 0.0011881655082107\n",
      "Epoch: 49640/50000, Loss: 0.0011542055290192\n",
      "Epoch: 49650/50000, Loss: 0.0012095343554392\n",
      "Epoch: 49660/50000, Loss: 0.0012438654666767\n",
      "Epoch: 49670/50000, Loss: 0.0012594313593581\n",
      "Epoch: 49680/50000, Loss: 0.0011307609966025\n",
      "Epoch: 49690/50000, Loss: 0.0011203602189198\n",
      "Epoch: 49700/50000, Loss: 0.0011278344318271\n",
      "Epoch: 49710/50000, Loss: 0.0012744886334985\n",
      "Epoch: 49720/50000, Loss: 0.0012384233996272\n",
      "Epoch: 49730/50000, Loss: 0.0012048678472638\n",
      "Epoch: 49740/50000, Loss: 0.0011538717662916\n",
      "Epoch: 49750/50000, Loss: 0.0011365507962182\n",
      "Epoch: 49760/50000, Loss: 0.0011486997827888\n",
      "Epoch: 49770/50000, Loss: 0.0016924273222685\n",
      "Epoch: 49780/50000, Loss: 0.0013238852843642\n",
      "Epoch: 49790/50000, Loss: 0.0011593318777159\n",
      "Epoch: 49800/50000, Loss: 0.0011163507588208\n",
      "Epoch: 49810/50000, Loss: 0.0011089609470218\n",
      "Epoch: 49820/50000, Loss: 0.0011186035117134\n",
      "Epoch: 49830/50000, Loss: 0.0012854530941695\n",
      "Epoch: 49840/50000, Loss: 0.0011711231200024\n",
      "Epoch: 49850/50000, Loss: 0.0011708149686456\n",
      "Epoch: 49860/50000, Loss: 0.0011536497622728\n",
      "Epoch: 49870/50000, Loss: 0.0011760458583012\n",
      "Epoch: 49880/50000, Loss: 0.0012505790218711\n",
      "Epoch: 49890/50000, Loss: 0.0011172770755365\n",
      "Epoch: 49900/50000, Loss: 0.0011278870515525\n",
      "Epoch: 49910/50000, Loss: 0.0011181695153937\n",
      "Epoch: 49920/50000, Loss: 0.0015715321060270\n",
      "Epoch: 49930/50000, Loss: 0.0013752219965681\n",
      "Epoch: 49940/50000, Loss: 0.0011733148712665\n",
      "Epoch: 49950/50000, Loss: 0.0011096282396466\n",
      "Epoch: 49960/50000, Loss: 0.0011180457659066\n",
      "Epoch: 49970/50000, Loss: 0.0011229170486331\n",
      "Epoch: 49980/50000, Loss: 0.0013910768320784\n",
      "Epoch: 49990/50000, Loss: 0.0011699503520504\n",
      "Epoch: 50000/50000, Loss: 0.0011561049614102\n"
     ]
    }
   ],
   "source": [
    "# Create LEM instance\n",
    "lem = LEM(input_size, hidden_size, output_size, dt=0.1)\n",
    "\n",
    "# Loss and optimizer\n",
    "criterion = nn.MSELoss()\n",
    "optimizer = torch.optim.Adam(lem.parameters(), lr=0.001)\n",
    "\n",
    "# Training loop\n",
    "for epoch in range(num_epochs):\n",
    "    # Forward pass\n",
    "    output = lem(input_tensor)\n",
    "    loss = criterion(output, target_tensor)\n",
    "\n",
    "    # Backward and optimize\n",
    "    optimizer.zero_grad()\n",
    "    loss.backward()\n",
    "    optimizer.step()\n",
    "\n",
    "    # Print progress\n",
    "    if (epoch + 1) % 10 == 0:\n",
    "        print(f'Epoch: {epoch + 1}/{num_epochs}, Loss: {loss.item():.16f}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "1da66d64",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([1, 1, 449])\n",
      "torch.Size([1, 39, 449])\n"
     ]
    }
   ],
   "source": [
    "print(test_tensor.shape)\n",
    "prediction_tensor = torch.zeros(1, 39, 449).float()\n",
    "print(prediction_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "a0543daa",
   "metadata": {},
   "outputs": [],
   "source": [
    "with torch.no_grad():\n",
    "    prediction = lem(test_tensor)\n",
    "    prediction = prediction.view(1, 1, 449).float()\n",
    "    prediction_tensor[:, 0, :] = prediction\n",
    "    for i in range(38):\n",
    "        prediction = lem(prediction)\n",
    "        prediction = prediction.view(1, 1, 449).float()\n",
    "        prediction_tensor[:, i+1, :] = prediction\n",
    "        "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2e6b9bad",
   "metadata": {},
   "source": [
    "### Four different types of error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "9c33b0f5",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Exact Solution\n",
    "\n",
    "u_test = u\n",
    "u_test_full = u_test[160:199, :]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "00c8fa22",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([39, 449])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prediction_tensor = torch.squeeze(prediction_tensor)\n",
    "prediction_tensor.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "334bf0be",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([39, 449])"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Extrapolation\n",
    "\n",
    "k1 = ( prediction_tensor - u_test_full)**2\n",
    "u_test_full_tensor = torch.tensor(u_test_full**2)\n",
    "u_test_full_tensor.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "01080c4f",
   "metadata": {},
   "source": [
    "### L^2 norm error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "33c17bd8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Error Test:  35.51188282188626\n"
     ]
    }
   ],
   "source": [
    "# Compute the relative L2 error norm (generalization error)\n",
    "relative_error_test = torch.mean(k1)/ torch.mean(u_test_full_tensor)\n",
    "\n",
    "print(\"Relative Error Test: \", relative_error_test.item())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fa3fa35b",
   "metadata": {},
   "source": [
    "### Max absolute norm error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "01cf8637",
   "metadata": {},
   "outputs": [],
   "source": [
    "R_abs = torch.max(torch.abs(prediction_tensor - u_test_full))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "b3e65482",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(4.3025, dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "print(R_abs)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "678810f2",
   "metadata": {},
   "source": [
    "### Explained variance score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "02c72385",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Explained Variance Score: -40.07147288645879\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "\n",
    "a = prediction_tensor\n",
    "b = u_test_full\n",
    "# Assuming 'a' is your predicted values (model's predictions) and 'b' is the true values (ground truth)\n",
    "# Make sure 'a' and 'b' are PyTorch tensors\n",
    "# a = torch.tensor(a)\n",
    "b = torch.tensor(b)\n",
    "# Calculate the mean of 'b'\n",
    "mean_b = torch.mean(b)\n",
    "\n",
    "# Calculate the Explained Variance Score\n",
    "numerator = torch.var(b - a)  # Variance of the differences between 'b' and 'a'\n",
    "denominator = torch.var(b)    # Variance of 'b'\n",
    "evs = 1 - numerator / denominator\n",
    "\n",
    "print(\"Explained Variance Score:\", evs.item())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f664baf6",
   "metadata": {},
   "source": [
    "### Mean absolute error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "43fc2394",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Error Test:  tensor(1.1405, dtype=torch.float64) %\n"
     ]
    }
   ],
   "source": [
    "# Compute the relative L2 error norm (generalization error)\n",
    "relative_error_test = torch.mean(torch.abs(prediction_tensor - u_test_full))\n",
    "\n",
    "print(\"Relative Error Test: \", relative_error_test, \"%\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "75e50e9e",
   "metadata": {},
   "source": [
    "### Contour plot for PINN (80 percent) and (20 percentage lem prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "8e3eec75",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([39, 449])\n"
     ]
    }
   ],
   "source": [
    "print(prediction_tensor.shape)\n",
    "prediction_tensor = torch.squeeze(prediction_tensor)\n",
    "input_tensor = torch.squeeze(input_tensor)\n",
    "\n",
    "conc_u = torch.squeeze(input_tensor)\n",
    "concatenated_tensor = torch.cat((conc_u, prediction_tensor), dim=0)\n",
    "\n",
    "x1 = np.linspace(-1, 1, 256)\n",
    "t1 = np.linspace(0, 1, 99)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e393a1e0",
   "metadata": {},
   "source": [
    "### Snapshot time plots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "04f91104",
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'u_1' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m/tmp/ipykernel_35922/469178800.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     11\u001b[0m \u001b[0mfinal_time_output\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mprediction_tensor\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     12\u001b[0m \u001b[0mfinal_out\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfinal_time_output\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdetach\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnumpy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreshape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0mfinal_true\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mu_1\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m83\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreshape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     14\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     15\u001b[0m \u001b[0;31m# Plot the data with red and blue lines, one with dotted and one with solid style\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mNameError\u001b[0m: name 'u_1' is not defined"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUQAAAEzCAYAAABJzXq/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAANbUlEQVR4nO3cf6jd9X3H8edrSQOt7ao0aenyg2UjrWZDR711UvbDTrYm7o9Q8A+1TCaFIGjpn8r+aAf+s/4xKMUfIUiQ/tP8U+nSkSpjo3Vg0+YGNBpFuYvM3KZgrKUDC5Poe3+c9+bp3Y33m5tzzvWG5wMu3O/3fO657w9Xnn7PufebVBWSJPittR5Akt4vDKIkNYMoSc0gSlIziJLUDKIktRWDmORQkteSPH+Bx5PkW0kWkpxM8pnJjylJ0zfkCvExYM97PL4X2NUf+4FHLn0sSZq9FYNYVU8Bb7zHkn3At2vkGHBlkk9OakBJmpVJvIe4FTgzdrzY5yRpXdk4gefIMueWvR8wyX5GL6u54oorrr/66qsn8O0l6V0nTpx4vaq2rOZrJxHERWD72PE24OxyC6vqIHAQYG5urubn5yfw7SXpXUn+c7VfO4mXzEeAO/u3zTcCv6qqn0/geSVppla8QkzyHeAmYHOSReDrwAcAquoAcBS4BVgAfg3cNa1hJWmaVgxiVd2+wuMF3DOxiSRpjXiniiQ1gyhJzSBKUjOIktQMoiQ1gyhJzSBKUjOIktQMoiQ1gyhJzSBKUjOIktQMoiQ1gyhJzSBKUjOIktQMoiQ1gyhJzSBKUjOIktQMoiQ1gyhJzSBKUjOIktQMoiQ1gyhJzSBKUjOIktQMoiQ1gyhJzSBKUjOIktQMoiQ1gyhJzSBKUjOIktQMoiQ1gyhJzSBKUjOIktQMoiQ1gyhJzSBKUjOIktQMoiQ1gyhJbVAQk+xJ8lKShST3L/P4R5N8P8mzSU4luWvyo0rSdK0YxCQbgIeAvcBu4PYku5csuwd4oaquA24C/jHJpgnPKklTNeQK8QZgoapOV9VbwGFg35I1BXwkSYAPA28A5yc6qSRN2ZAgbgXOjB0v9rlxDwLXAGeB54CvVtU7S58oyf4k80nmz507t8qRJWk6hgQxy5yrJcdfAJ4Bfgf4I+DBJL/9/76o6mBVzVXV3JYtWy5yVEmariFBXAS2jx1vY3QlOO4u4PEaWQBeAa6ezIiSNBtDgngc2JVkZ/+i5DbgyJI1rwI3AyT5BPBp4PQkB5Wkadu40oKqOp/kXuBJYANwqKpOJbm7Hz8APAA8luQ5Ri+x76uq16c4tyRN3IpBBKiqo8DRJecOjH1+FviryY4mSbPlnSqS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AYFMcmeJC8lWUhy/wXW3JTkmSSnkvxosmNK0vRtXGlBkg3AQ8BfAovA8SRHquqFsTVXAg8De6rq1SQfn9K8kjQ1Q64QbwAWqup0Vb0FHAb2LVlzB/B4Vb0KUFWvTXZMSZq+IUHcCpwZO17sc+M+BVyV5IdJTiS5c1IDStKsrPiSGcgy52qZ57keuBn4IPDjJMeq6uXfeKJkP7AfYMeOHRc/rSRN0ZArxEVg+9jxNuDsMmueqKo3q+p14CnguqVPVFUHq2ququa2bNmy2pklaSqGBPE4sCvJziSbgNuAI0vW/BPwp0k2JvkQ8MfAi5MdVZKma8WXzFV1Psm9wJPABuBQVZ1Kcnc/fqCqXkzyBHASeAd4tKqen+bgkjRpqVr6duBszM3N1fz8/Jp8b0mXryQnqmpuNV/rnSqS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AyiJDWDKEnNIEpSM4iS1AYFMcmeJC8lWUhy/3us+2ySt5PcOrkRJWk2Vgxikg3AQ8BeYDdwe5LdF1j3DeDJSQ8pSbMw5ArxBmChqk5X1VvAYWDfMuu+AnwXeG2C80nSzAwJ4lbgzNjxYp/7P0m2Al8EDkxuNEmarSFBzDLnasnxN4H7qurt93yiZH+S+STz586dGziiJM3GxgFrFoHtY8fbgLNL1swBh5MAbAZuSXK+qr43vqiqDgIHAebm5pZGVZLW1JAgHgd2JdkJ/Ay4DbhjfEFV7fzfz5M8Bvzz0hhK0vvdikGsqvNJ7mX02+MNwKGqOpXk7n7c9w0lXRaGXCFSVUeBo0vOLRvCqvrbSx9LkmbPO1UkqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWqDgphkT5KXkiwkuX+Zx7+U5GR/PJ3kusmPKknTtWIQk2wAHgL2AruB25PsXrLsFeDPq+pa4AHg4KQHlaRpG3KFeAOwUFWnq+ot4DCwb3xBVT1dVb/sw2PAtsmOKUnTNySIW4EzY8eLfe5Cvgz8YLkHkuxPMp9k/ty5c8OnlKQZGBLELHOull2YfJ5REO9b7vGqOlhVc1U1t2XLluFTStIMbBywZhHYPna8DTi7dFGSa4FHgb1V9YvJjCdJszPkCvE4sCvJziSbgNuAI+MLkuwAHgf+pqpenvyYkjR9K14hVtX5JPcCTwIbgENVdSrJ3f34AeBrwMeAh5MAnK+quemNLUmTl6pl3w6curm5uZqfn1+T7y3p8pXkxGovyLxTRZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZKaQZSkZhAlqRlESWoGUZLaoCAm2ZPkpSQLSe5f5vEk+VY/fjLJZyY/qiRN14pBTLIBeAjYC+wGbk+ye8myvcCu/tgPPDLhOSVp6oZcId4ALFTV6ap6CzgM7FuyZh/w7Ro5BlyZ5JMTnlWSpmpIELcCZ8aOF/vcxa6RpPe1jQPWZJlztYo1JNnP6CU1wH8neX7A91+vNgOvr/UQU+T+1q/LeW8An17tFw4J4iKwfex4G3B2FWuoqoPAQYAk81U1d1HTriPub327nPd3Oe8NRvtb7dcOecl8HNiVZGeSTcBtwJEla44Ad/Zvm28EflVVP1/tUJK0Fla8Qqyq80nuBZ4ENgCHqupUkrv78QPAUeAWYAH4NXDX9EaWpOkY8pKZqjrKKHrj5w6MfV7APRf5vQ9e5Pr1xv2tb5fz/i7nvcEl7C+jlkmSvHVPktrUg3i53/Y3YH9f6n2dTPJ0kuvWYs7VWGlvY+s+m+TtJLfOcr5LNWR/SW5K8kySU0l+NOsZL8WA/zY/muT7SZ7t/a2b9/6THEry2oX+dG/VXamqqX0w+iXMfwC/B2wCngV2L1lzC/ADRn/LeCPwk2nOtAb7+xxwVX++d73sb8jextb9G6P3mG9d67kn/LO7EngB2NHHH1/ruSe8v78DvtGfbwHeADat9ewD9/dnwGeA5y/w+Kq6Mu0rxMv9tr8V91dVT1fVL/vwGKO/0VwPhvzsAL4CfBd4bZbDTcCQ/d0BPF5VrwJU1Xra45D9FfCRJAE+zCiI52c75upU1VOM5r2QVXVl2kG83G/7u9jZv8zo/1rrwYp7S7IV+CJwgPVnyM/uU8BVSX6Y5ESSO2c23aUbsr8HgWsY3UTxHPDVqnpnNuNN3aq6MujPbi7BxG77e58aPHuSzzMK4p9MdaLJGbK3bwL3VdXbo4uMdWXI/jYC1wM3Ax8EfpzkWFW9PO3hJmDI/r4APAP8BfD7wL8k+feq+q8pzzYLq+rKtIM4sdv+3qcGzZ7kWuBRYG9V/WJGs12qIXubAw53DDcDtyQ5X1Xfm8mEl2bof5uvV9WbwJtJngKuA9ZDEIfs7y7gH2r0pttCkleAq4GfzmbEqVpdV6b8xudG4DSwk3ff2P2DJWv+mt988/Ona/2G7YT3t4PRHTyfW+t5J723JesfY339UmXIz+4a4F977YeA54E/XOvZJ7i/R4C/788/AfwM2LzWs1/EHn+XC/9SZVVdmeoVYl3mt/0N3N/XgI8BD/eV1PlaBzfWD9zbujVkf1X1YpIngJPAO8CjVbUu/oWmgT+/B4DHkjzHKBz3VdW6+FdwknwHuAnYnGQR+DrwAbi0rniniiQ171SRpGYQJakZRElqBlGSmkGUpGYQJakZRElqBlGS2v8AhbvZaHK45QEAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "final_time_output = prediction_tensor[3, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = u_1[:, 83].reshape(-1, 1)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "\n",
    "# Set the axis labels with bold font weight\n",
    "ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "ax.set_ylabel(r\"${u(x, t)}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# Set the title with bold font weight\n",
    "ax.set_title(r\"${t = 0.83}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 3\n",
    "ax.set_xticks([-1, 0, 1])\n",
    "ax.set_yticks([-1, 0, 1])\n",
    "\n",
    "# Set tick labels fontweight to bold and increase font size\n",
    "ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # Set the fontweight for tick labels to bold\n",
    "# for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "#     tick.set_weight('bold')\n",
    "\n",
    "# Set the spines linewidth to bold\n",
    "ax.spines['top'].set_linewidth(2)\n",
    "ax.spines['right'].set_linewidth(2)\n",
    "ax.spines['bottom'].set_linewidth(2)\n",
    "ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "# Set the legend\n",
    "# ax.legend()\n",
    "\n",
    "plt.savefig('LEM_0.83_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "#plt.savefig('lem_0.83_20.png', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3d96305e",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "\n",
    "\n",
    "final_time_output = prediction_tensor[-2, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = u[:, -2].reshape(-1, 1)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "\n",
    "# # Set the axis labels with bold font weight\n",
    "# ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "# ax.set_ylabel(r\"${u(x, t)}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# # Set the title with bold font weight\n",
    "# ax.set_title(r\"${t = 0.98}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# # Set the number of ticks for x-axis and y-axis to 3\n",
    "# ax.set_xticks([-1, 0, 1])\n",
    "# ax.set_yticks([-1, 0, 1])\n",
    "\n",
    "# # Set tick labels fontweight to bold and increase font size\n",
    "# ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # # Set the fontweight for tick labels to bold\n",
    "# # for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "# #     tick.set_weight('bold')\n",
    "\n",
    "# # Set the spines linewidth to bold\n",
    "# ax.spines['top'].set_linewidth(2)\n",
    "# ax.spines['right'].set_linewidth(2)\n",
    "# ax.spines['bottom'].set_linewidth(2)\n",
    "# ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "# # Set the legend\n",
    "# # ax.legend()\n",
    "\n",
    "# plt.savefig('LEM_0.98_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "#plt.savefig('lem_0.98_20.png', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d962cd38",
   "metadata": {},
   "source": [
    "### Contour plot where 80 percent for PINN solution and 20 percent for lem solution"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5011fef9",
   "metadata": {},
   "source": [
    "### Exact contour"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8d6ac2bb",
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = u_1.T\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(-1, 1, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(0, 1, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "X, T = np.meshgrid(x, t)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "plt.figure(figsize=(20, 5))\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='coolwarm')\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$t$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$u(x, t)$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "#plt.savefig('Contour_Exact.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_exact.jpeg', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c034dcf7",
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = concatenated_tensor.numpy()\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(-1, 1, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(0, 1, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "X, T = np.meshgrid(x, t1)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "plt.figure(figsize=(20, 5))\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='coolwarm')\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$t$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$u(x, t)$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "# Add a dotted line at t = 0.8\n",
    "plt.axvline(x=0.8, color='black', linestyle='dotted', linewidth=5)\n",
    "\n",
    "#plt.savefig('Contour_LEM_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_LEM_20.jpeg', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b7ab04a2",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
